我在我的控制器中的查詢獲取所有的應用程序,幷包括他們的平均評級從另一個表傳遞到字典的模型產品類型.... {} Models.App但我通過爲{Models.App,System.Double}
var apps = from a in db.Apps
let rating = a.Ratings.Average(r => r.Stars)
select new { App = a, Rating = rating == null ? 0 : rating };
然後,我命令他們在此基礎上過濾器從家裏....沒什麼大不了過去了....
switch (sortOrder)
{
case "Top desc":
apps = apps.OrderByDescending(a => a.Rating);
break;
case "Newest":
apps = apps.OrderBy(a => a.App.DateUpdated);
break;
case "Newest desc":
apps = apps.OrderByDescending(a => a.App.DateUpdated);
break;
default:
apps = apps.OrderBy(a => a.Rating);
break;
}
然後返回到視圖
return View(apps.ToPagedList(pageIndex, pageSize));
但是,在主頁上,我收到一個錯誤,指出我正在傳遞錯誤類型的模型Item,我正在傳遞{Model.App,System。雙}(我想是因爲我的查詢增加了評級平均的方式......我怎麼能仍然得到一個等級平均水平,但發回合適的型號項目類型。謝謝!
請張貼*確切*錯誤消息。 –
傳遞到詞典中的模型項的類型爲「PagedList.PagedList'1 [<> f__AnonymousType1'2 [MarketplaceFinal.Models.App,System.Double]]」,但是這需要字典類型的「一個模型項PagedList.IPagedList '1 [MarketplaceFinal.Models.App]」。 –