0

asp.net mvc Web アプリケーション内で Entity Framework を使用しています。次のクエリがあります:-

public AccountDefinition GetCustomer2(int id){

var c =   entities.AccountDefinitions.Where(s=>s.ORG_ID==id)
.Include(a=>a.SDOrganization)
.Include(a1=>a1.SiteDefinitions);
var c2 = c.Select(a=>a.SDOrganization);   //code goes here     }

次のアクションメソッドから呼び出されます:-

public ActionResult Index(int searchTerm)
        {   var accountdefinition = repository.GetCustomer2(searchTerm).ToList();

            return View(accountdefinition);

 }
  1. したがって、c2 var を作成しているときに、.Tolist()? に到達したときに、データベースにクエリを実行するか、最初の呼び出しからデータがメモリ内にありますか?

  2. 2 番目の質問は、Var c を作成するときに .Include を .Select に置き換えた場合、同じ効果がありますか?

4

1 に答える 1

0

SQL Server プロファイラー (SQL Server を使用している場合) で実行されるクエリを確認したり、Entity Framework Tracing Provider を確認したりできます。http://code.msdn.microsoft.com/EFProviderWrappers-c0b88f32

これにより、多くの情報と理解が得られます...

于 2013-07-10T07:21:25.827 に答える