亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

無法隱式轉換類型,存在顯式轉換(是否缺少強制轉換?

無法隱式轉換類型,存在顯式轉換(是否缺少強制轉換?

C#
慕碼人2483693 2022-08-20 17:35:50
我已經設置了一個ViewModel(以前使用ViewBag),但我在以下代碼中遇到了錯誤,我已經研究了它,但個人無法找出我的問題:public ActionResult Index(string category, string search)    {        ProductIndexViewModel viewModel = new ProductIndexViewModel();        var products = db.Products.Include(p => p.Category);        if (!String.IsNullOrEmpty(search))        {            products = products.Where(p => p.Name.Contains(search) ||                    p.Description.Contains(search) ||                    p.Category.Name.Contains(search));            viewModel.Search = search;        }        viewModel.CatsWithCount = from matchingProducts in products                                  where matchingProducts.CategoryID != null                                  group matchingProducts by                                  matchingProducts.Category.Name into                                  catGroup                                  select new CategoryWithCount()                                  {                                      CategoryName = catGroup.Key,                                      ProductCount = catGroup.Count()                                  };        if (!String.IsNullOrEmpty(category))        {           products = products.Where(p => p.Category.Name == category);        }        viewModel.Products = products;        return View(viewModel);    }錯誤發生在該行的底部:viewModel.Products = products;確切的錯誤是“無法將類型隱式轉換為 。存在顯式轉換(您是否缺少強制轉換?)”'System.Linq.IQueryable<OnlineStore.Models.Product>''System.Linq.IQueryable<OnlineStore.ViewModels.ProductIndexViewModel>'我對使用Visual Studio非常陌生,只是想知道我必須做些什么來修復這個錯誤。
查看完整描述

2 回答

?
蠱毒傳說

TA貢獻1895條經驗 獲得超3個贊

問題出在我的ProductIndexViewModel類中。我有

public IEnumerable<ProductIndexViewModel> Products { get; set; }

而不是

public IEnumerable<Product> Products { get; set; }

感謝所有回答的人。


查看完整回答
反對 回復 2022-08-20
?
蝴蝶刀刀

TA貢獻1801條經驗 獲得超8個贊

你在課堂上看起來錯了ProductsProductIndexViewModel


public class ProductIndexViewModel

{

    public IQueryable<ProductIndexViewModel> Products { get; set; }

Products是一個,它實際上沒有意義,可能應該是一個或IQueryableList<T>IEnumerable<T>


public List<ProductIndexViewModel> Products { get; set; }

通用參數看起來是錯誤的,它可能應該是或一些ViewModel,就像在ViewModel的情況下,你需要/Project到它ProductProductViewModelSelect

你可能應該在結果上打電話ToList


viewModel.Products = products.ToList();


查看完整回答
反對 回復 2022-08-20
  • 2 回答
  • 0 關注
  • 361 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號