번째 줄의 행 (즉, 목록 변환)의 메시지를 보내는 이유는 무엇입니까?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로 변환됩니다. 그것을 목록으로 변환하는 것이 무엇이 문제입니까? 나는 다음을 작성하는 경우
다시 말하지만, 그것은 작동합니다
IEnumerable<Order> MyQuery = from order in dataContext.GetTable<Order>()
where order.ID == 1
select order;
List<Order> list = new List<Order>(MyQuery);
이유는 무엇입니까? 트릭이란 무엇입니까?
데이터가 Order가 아닌 String 개체라고 가정합니다. 내 목록을 uint 형식으로 만들고 싶습니다 (문자열 객체를 uint로 변환). 한 단계에서이 작업을 수행 할 수 있습니까? – g33kz0r
@ G33kx0r'.AsEnumerable(). 공급자가 직접이 작업을 수행 할 수 없으므로 쿼리가 끝날 때 Select (i => UInt32.Parse (i));를 선택합니다. –