为什么这个东西在第二行行(即列表转换)给出消息?Linq类型转换问题
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。将它转换为List的问题是什么?
再次,如果我写的下面,它的工作原理:
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 2011-11-27 13:19:37
@ G33kx0r它可能需要一个'。AsEnumerable()。Select(i => UInt32.Parse(i));'在查询结束时,因为您的提供者可能无法直接执行此操作。 – 2011-11-27 17:56:07