La siguiente consulta está utilizando Z.EntityFramework.Plus.EF6 para filtrar elementos secundarios. Su filtrado e inclusión de la entidad AssetXref
correctamente, sin embargo, el resultado no puede incluir la relación de entidad 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();
También he intentado
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
no es compatible con Include
. IncludeFilter
usar IncludeFilter
completo, incluso si no hay filtro
Además, siempre debe usar el filtro primario completo en el secundario
Aquí hay un ejemplo:
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();