1

I'm using a GenericRepository to work with Eager Loading on EF Core, in this case i can loading CategoriaNutrientes but if i try to load Nutriente

categoriaService.FindBy((i => i.CategoriaNutrientes.Select(x=>x.Nutriente)))

i've got this error:

System.InvalidOperationException: 'The property expression 'i => {from ManyToManyChild x in [i].ManyToManyChilds select [x].GrandChild}' is not valid. The expression should represent a property access: 't => t.MyProperty'. For more information on including related data, see http://go.microsoft.com/fwlink/?LinkID=746393.'

public class Categoria:BaseEntidadeExecutora
{
    public Int64 Id { get; set; }
    public string NomeCategoria { get; set; }
    public Int64 QtdeMinimaRefeicao { get; set; }
    public string FormaCalculo { get; set; }
    public Int64 NecessidadeDiariaMinima { get; set; }
    public ICollection<CategoriaNutriente> CategoriaNutrientes { get; set; }
    public ICollection<UnidadeEnsinoCategoria> UnidadeEnsinoCategorias { get; set; }
}

public class CategoriaNutriente : BaseEntity
{
    public Int64 IdCategoria { get; set; }
    public Categoria Categoria {get;set;}
    public Int64 IdNutriente { get; set; }
    public Nutriente Nutriente { get; set; }
    public Int64 NecessidadeNutricional { get; set; }
}

categoriaService.FindBy((i => i.CategoriaNutrientes.Select(x=>x.Nutriente)))

public IEnumerable<T> FindBy(params Expression<Func<T, object>>[] includes)
{
    IQueryable<T> set = entities;

    var entity = (includes.Aggregate(set, (current, include) => current.Include(include)).ToList() ?? default(ICollection<T>));
}

0 Answers0