爲什麼這個東西在第二行行(即列表轉換)給出消息?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