У меня в контроллере есть запрос, который получает все приложения и включает их среднюю оценку из другой таблицы
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.Double} (я предполагаю, что из-за того, как мой запрос добавляет среднее значение рейтинга ...... Как я могу получить среднее значение рейтинга, но отправить обратно соответствующий тип элемента модели. Спасибо!