Ak mám 3 triedy A, B a C:
class A {
public B b { get; set; }
public C c { get; set; }
}
class B {
public C c { get; set; }
}
class C {
...
}
Keď robím dopyt, ako je:
Context.A.Where(...).Include(x => x.b).Include(x => x.c);
Subjekt načíta objekt C v oboch prípadoch A a B, duplikuje dáta. Existuje spôsob, ako tomu zabrániť? Nepoužíva som lenivé nakladanie.
odpovede:
1 pre odpoveď č. 1Inštruktujete Entity Framework na načítanie b a C subjekty s A nastaviť. Vzhľadom k tomu, b položky obsahujú odkazy na položky typu C že sila byť skutočne naložený tovar s a objekty, potom Entity Framework ich používať zostrojte graf objekty.Ktoré nedáva "t znamená Entity Framework vygeneruje extra SQL pripojiť načítať C položky typu B. Vykonáte to napíšete
Context.A.Where(...).Include(x=>x.b).Include(x=>x.c).Include(x=>x.b.c)