/ / Entity Framework - Obsahuje viacero úrovní - c #, asp.net, entity-framework-6

Entity Framework - Obsahuje viacero úrovní - c #, asp.net, entity-framework-6

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ď č. 1

Inš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)