Eager lädt in EntityFramework mit DbContext.Database.SqlQuery

8

Kann ich in EF 4 eifrig Navigationseigenschaften laden, indem ich SQL in DbContext.Database.SqlQuery oder DbContext.Set<T>().SqlQuery schreibe? Es scheint, als ob meine Navigationseigenschaften nicht ausgefüllt werden.

Bearbeiten

Es scheint, dass ich mit DbContext.Set () sqlQuery, nur nicht mit DbContext.Database.SqlQuery. Irgendeine Idee warum?

    
enamrik 03.02.2012, 23:35
quelle

1 Antwort

4

DbSet.SqlQuery funktioniert anders als Database.SqlQuery. Die Methode für DbSet gilt für den angegebenen Entitätssatz. Es muss Entitäten des angegebenen Typs zurückgeben und standardmäßig werden die zurückgegebenen Entitäten nachverfolgt. Database.SqlQuery kann ein beliebiges Objekt (möglicherweise keine Entität) zurückgeben, und die zurückgegebenen Objekte werden niemals vom Kontext überwacht. Sie können auch msdn betrachten, um beide Methoden zu vergleichen:

Database.SqlQuery - Ссылка

DbSet.SqlQuery - Ссылка

    
Pawel 04.02.2012 04:51
quelle