Почему эта вещь дает сообщение в второй строке (т. Е. Конвертация списка)?Linq type conversion problem
IEnumerable<Order> MyQuery = from order in dataContext.GetTable<Order>()
where order.ID == 1
select new Order() {ID = order.ID, OrderDate=order.OrderDate };
List<Order> list = new List<Order>(MyQuery);
Сообщение:
Explicit construction of entity type 'Order' in query is not allowed.
Если он уже преобразованы в IEnumerable. Какова его проблема, чтобы преобразовать ее в список?
Опять же, если я пишу следующее, это работает:
IEnumerable<Order> MyQuery = from order in dataContext.GetTable<Order>()
where order.ID == 1
select order;
List<Order> list = new List<Order>(MyQuery);
Почему? Что это за трюк?
Предположим, что данные являются объектами String, а не Order. Я хочу, чтобы мой список имел тип uint (преобразовать строковые объекты в uint). Можно ли это сделать за один шаг? – g33kz0r
@ G33kx0r Для этого может потребоваться '.AsEnumerable(). Выберите (i => UInt32.Parse (i)); 'в конце вашего запроса, поскольку ваш провайдер может быть не в состоянии сделать это напрямую. –