Здравствуйте, у меня есть следующие объекты:
public class Area
{
public ICollection<Indicator> Indicators { get; set; }
}
public class Indicator
{
public Operator GreenCondition { get; set; }
}
public class Operator
{
public string Name { get; set; }
}
А в логике у меня есть:
public Area Get(int id)
{
List<Expression<Func<Area, object>>> includes = new List<Expression<Func<Area, object>>>();
includes.Add(x => x.Indicators);
includes.Add(x => x.Indicators.Select(i => i.GreenCondition));
includes.Add(x => x.Managers);
Area area = repAreas.Get(includes, a => a.Id == id && a.Active);
return area;
}
И в моей логике хранилища я имею:
public T Get(IEnumerable<Expression<Func<T, object>>> includes, Func<T, bool> predicate)
{
var query = _objectSet.AsQueryable<T>();
if(!(includes is null))
{
query = includes.Aggregate(query, (current, include) => current.Include(include));
}
return query.Where(predicate).FirstOrDefault();
}
Но когда собирается выполнить обратную строку, выдает ошибку, которая не может выполнить выбранную часть.
По сути, я хочу показать все, что есть в Районе, используя общий вид и отражение.