LoadProperty或Include从主体实体中检索所有关联行。如何过滤从LoadProperty调用中检索到的行?我不希望从DB中进行数据恢复的后处理。
我的情况是这样的
public Expression<Func<TipoReforma, bool>> predicadoFiltroIdioma(String filtro)
{
return x => x.DetalleTipoReforma.Any(y=>filtro.Contains(y.Idioma.idioma));
}
IEnumerable<T> resultado = objectSet.Where<T>(predicadoFiltroIdioma("en");
Contexto.LoadProperty(resultado.ToList()[0], "DetalleTipoReforma");
我只想要“TipoReforma”,但相关信息应该只是那些idioma是“x”。
提前致谢,
答案 0 :(得分:0)
LoadProperty
或Include
都不支持过滤=它们始终加载所有相关实体。你必须使用不同的方法。您可以尝试使用CreateSourceQuery
。类似的东西:
var data = ((EntityCollection<TipoReforma>)resultado.ToList[0].DetalleTipReforma)
.CreateSourceQuery().OrderBy(predicadoFiltroIdioma).ToList();
它还应填充主体中的导航属性。在执行此代码之前,请确保关闭延迟加载。