Вы пытаетесь назначить выражение запроса для объекта List<>
. Это неправильно.
Вам нужно позвонить ToList()
, чтобы преобразовать результаты запроса в список найденных заказов и использовать анонимный тип, поскольку вы выбираете только частичные данные и создаете новые анонимные объекты:
var r = (from p in db.Orders
select new { p.OrderID, p.OrderDate }).ToList();
Обратите внимание, что анонимный тип по-прежнему будет перечисляемым, поскольку он по-прежнему является общим List<>
, и поэтому он по-прежнему реализует общий интерфейс IEnumerable<>
.
Чтобы сформировать List<Order>
, вам нужно либо получить законченные объекты, поэтому вместо этого select p
, как сказал Джон Раш:
List<Order> r = (from p in db.Orders
select p).ToList();
Или select new Order
s и создайте их из выбранных вами полей.