2016-02-21 3 views
7

Sto usando EF 7.0.0-rc1-final.EF Core 1.0 - Include() genera più di una query

La seguente istruzione genera più query sul server. È normale o mi manca qualcosa?

Group myGroup = dbContext_ 
      .Set<Group>() 
      .Include(x => x.GroupRoles) 
      .ThenInclude(x => x.Role) 
      .FirstOrDefault(x => x.Name == "Approver"); 

vedo due query separate eseguite sul server:

Query 1

E

Query 2

Si tratta di uno scenario standard di molti-a-molti. Perché è la prima query?

Grazie

risposta

6

Sì, è normale anche in uno a molti scenari.

EF7 genera più query per evitare di restituire gli stessi dati più volte.

Qui è un grande post su EF6 Includere a capire il motivo per cui questo cambiamento è stato richiesto per EF7: Entity Framework pitfalls, include

+1

Il collegamento è rotto, ma [la mia risposta qui] (https://stackoverflow.com/a/34732579/ 861716) probabilmente racconta la stessa storia. –