아래 쿼리는 Z.EntityFramework.Plus.EF6을 사용하여 자식을 필터링합니다. 필터링하고 AssetXref
엔터티를 올바르게 포함하지만 결과에 Child.Parent
엔터티 관계를 포함 할 수 없습니다
var result = await _repository.GetQuery<Assets>()
.IncludeFilter(x => x.AssetsXRef
.Where(y => y.Child.Perent.ParentID == parentID)
.Select(y => y.Child.Perent)
)
.Where(x => x.Active == true)
.ToListAsync();
나는 또한 시도했다
var result = await _repository.GetQuery<Assets>()
.IncludeFilter(x => x.AssetsXRef
.Where(y => y.Child.Perent.ParentID == parentID)
)
.Include(x=>x.AssetsXRef.Select(y=>y.Child.Parent))
.Where(x => x.Active == true)
.ToListAsync();
IncludeFilter
는 Include
와 호환되지 않습니다. 필터가 없어도 IncludeFilter
를 계속 사용해야합니다.
또한 항상 자식에 대한 전체 부모 필터를 사용해야합니다
예를 들면 다음과 같습니다.
var result = await _repository.GetQuery<Assets>()
.IncludeFilter(x => x.AssetsXRef.Where(y => y.Child.Perent.ParentID == parentID))
// Might be SelectMany
.IncludeFilter(x => x.AssetsXRef.Where(y => y.Child.Perent.ParentID == parentID).Select(y=>y.Child.Parent))
.Where(x => x.Active == true)
.ToListAsync();