1
필요한 항목 만 얻으려면 정확한 where 절을 찾을 수 없습니다.엔티티 프레임 워크의 복잡한 그래프
본인은 Divisions가 있으며, 여기에는 Category를 포함하며 여기에는 Items가 포함됩니다. 이이 클래스입니다 :
public class Division {
public string Description { get; set; }
public List<Category> Categories { get; set; }
}
public class Category : IdEntity
{
public string Description { get; set; }
public Guid DivisionId { get; set; }
public List<Item> Items { get; set; }
}
public class Item
{
public Guid CategoryId { get; set; }
public DateTime Date { get; set; }
public string Description { get; set; }
}
는 내가 필요로하는 매개 변수의 ID로 분할하고,이 모든 부문에서 범주와 각 범주에 대한 특정 날짜를 항목.
그래서 지금은 이렇게 :
public Division GetFullDivisionByIdAndDate(Guid id, DateTime date)
{
using (new ChangeTrackingScope(ChangeTracking.Disabled))
{
var divisionGraph = new Graph<Division>().Include(d => d.Categories.Select(c => c.Items));
var division = _divisionDL.GetFullDivisionByIdAndDate(id, divisionGraph, date);
return division;
}
}
그리고 DL에 내가 여기
public Division GetFullDivisionByIdAndDate(Guid id, Graph<Division> graph, DateTime date)
{
using (var db = new ContextScope<DatabaseContext>())
{
var q = graph.ApplySetReferences(db.Context.Divisions).AsNoTracking();
return q.SingleOrDefault(p => p.Id == id);
}
}
을 나는 (지금까지 너무 좋아) 모든 범주 분할을 얻을 것보다
뿐만 아니라 I 모든 항목을 가져오고 매개 변수로 지정된 날짜의 항목 만 필요합니다. 누구든지이 작업을 수행하는 방법을 알고 있습니까?