Сначала возникают проблемы с привязкой данных к коду EF.Мне нужно использовать Eager Loading, но у меня возникают некоторые проблемы с привязкой данных.У меня есть следующие классы:
public class Context : DbContext
{
DbSet<A> As;
DbSet<B> Bs;
DbSet<C> Cs;
}
public class A
{
public ICollection<B> Bs { get; set; }
public string Name { get; set; }
}
public class B
{
public ICollection<C> Cs { get; set; }
public string Name { get; set; }
}
public class C
{
public string Name { get; set; }
}
Я контекст привязки данных. Что касается Treeview, используя следующий код:
Context.As.Load();
tvItems.ItemsSource = Context.As.Local;
Это работает, как и ожидалось, однако, это не такавтоматически загружать дочерние свойства Bs и впоследствии Cs.Итак, я обнаружил, что отложенная загрузка может помочь с этим, например так:
Context.As.Load();
tvItems.ItemsSource = Context.As.Include(u=>u.Bs);
Из моего чтения это должно автоматически загрузить по крайней мере первый уровень дочерних свойств.Однако это не приведет к привязке данных, поскольку я не использовал .Local
.Include () возвращает IQueryable, который не поддерживает .Local.Я могу использовать .ToList (), но это не будет автоматически обновляться при добавлении элементов.
Итак, как, черт возьми, я должен это делать?