0
가 문을 가입하고 영광스러운 일에서 실행 사용하여 쿼리를 generat라는 것, 내가엔티티 프레임 워크의 동적은
using(var ctx = new MyFooContext())
{
var joins = ctx.foo.Include(x => x.A).Include(x => x.B).ToList();
var includes = new List<Expression<Func<foo, object>>> {x => x.A, x => x.B);
var noJoinQuey = ctx.foo.AsQueryable();
includes.Each(i => noJoinrQuery.Include(i));
var noJoins = noJoinQuery.ToList();
}
첫 번째, joins
을 실행하면 나는 간단한 클래스
public class foo
{
public List<int> A {get;set;}
public List<int> B {get; set;}
}
있다고 가정 포함 성명서. 두 번째 것은 noJoins
이며, 개별 선택 명령문 전체를 실행합니다. 왜?!
그게 맞습니까? 각 .ForEach가되어야합니까? – drneel
아무런 차이가 없습니다. Each, ForEach 또는 적절한 foreach 루프를 사용하면 여전히 조인을 만들지 않습니다. –
.Include()는 관련 엔티티를 열심히로드하므로 조인을로드합니다. 그 포함에 대한 반복 그 표현을 평가하고 따라서 여러 가지 선택 쿼리를 일으키는 것 같아요. – drneel