我在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);
}
因此,当我创建c2 var时,它会查询数据库,或者当到达.Tolist()时,数据将在第一次调用时位于内存中。
第二个问题,如果我在创建Var c时用.Select替换.Include,它会产生相同的效果吗?
答案 0 :(得分:0)
您可以在SQL Server Profiler中查看执行的查询(如果使用SQL Server),或者您可以查看某些Entity Framework跟踪提供程序。 http://code.msdn.microsoft.com/EFProviderWrappers-c0b88f32
这将为您提供大量信息和理解......