Для моей сущности Book я хочу сделать запрос, чтобы выбрать требуемые свойства и вернуть его в виде списка в другой тип списка <BookModel>
, из которого я буду использовать в качестве модели в моем представлении.Но в этой строке кода красная волнистая линия указывает на ошибку с сообщением:
cannot convert system.collections.generic.List<anonymous> to system.collections.generic.List<BookModel>
Конечно, я могу использовать класс Select(b=> new BookModel{...})
вместо анонимного типа для создания типа объекта списка, но мне интересно, есть лиспособ вернуть это без использования BookModel, только с помощью анонимного типа?
здесь есть свойство типа List, которое я хочу вернуть моему анонимному типу
public class HomeModel
{
public List<BookModel> PopularBooks { get; set; }
public List<BookModel> BestSales { get; set; }
}
, и метод действия, который я выполняю, используя лямбда-выражения.
public ActionResult HomeIndex()
{
HomeModel model = new HomeModel();
var bestSalebooks = db.Books.Where(b => b.IsApproved).OrderBy(b => b.DisplayNumber).Select(b => new
{
Id = b.Id,
Name = b.Name,
Description = b.Description,
Price = b.Price,
DateAdded = b.DateAdded,
CategoryId = b.CategoryId
}).ToList();
model.BestSales = bestSalebooks; //cannot convert system.collections.generic.List<anonymous> to system.collections.generic.Lis<BookModel>
return View(model);
}