1
나는 (그 표면에) 아주 간단합니다 Linq 아주 간단한 Linq 있어요. 생성 된 SQL 코드를 검사하면 모두을 방금 요청한 필드 대신 검색하려고합니다. 이게 보통의 관행인가? 지금이상한 Linq SQL 오류 - 너무 많은 필드를 검색
var result = (from q in db.Foos
where blah blah blah
orderby more blah
select new ResultThingy
{
A = q.A, // int
B = q.B, // string
C = q.Bar.A // int
D = q.Bar.B // string
})
.Take(5)
.ToList();
이 테이블 바 (그리고 몇 가지 다른 필드)에서 모든 값을 불러 오는 것 -을 :
여기에 SQL 쿼리에 LINQ에 대한 몇 가지 psedo 코드입니다.
정상적인 관행입니까? ResultThingy 클래스의 각 속성이 단순한 형식 인 방법에 주목하십시오.
흠 ... 생각? 나는 이것에 대하여 정말로 혼란 스럽다.
? 흠. 끝내주는거야. ResultThingy가 _POCO_ 클래스이고 Linq2SQL 엔티티 테이블/클래스가 아님을 확인할 수 있습니다. 대신 익명의 객체를 사용하고 여기서 다시보고 할 때 어떤 일이 일어나는지 보겠습니다. –
그것은 작동합니다 :) 귀하의 선택은 Enumerable 및 Queryable이 아닌 것으로 취급됩니다 (하지만 select까지 쿼리 가능). – leppie
Nope - 여전히 코드를 변경하려고합니다. (코드가 ...로 바뀌 었습니다. 새로운 {...}을 (를) 선택 했으므로, 내가 선택한 항목을 모두 선택할 때까지 선택 항목의 모든 항목을 제거했습니다. 관심을 보지 못했지만 익명의 객체를 사용하는 대신 (제안 된대로) 익명의 객체를 사용하는 대신 내 POCO를 사용했습니다. 실제로는 효과가있었습니다. 그 엔티티에 대한 데이터가 반환 될 것입니다.) 흠. 이상하게 :) 나는 어쨌든 포인트를 줄 것이다. :) –