2012-10-28 62 views
0

使用:實體框架是否返回整個數據集?

  • .NET 4.0

  • 的EntityFramework 4.3

如果我以這種方式查詢DBSet:將整個表返回

public DbSet<Reciept> Reciepts { get; set; } 
Reciepts.Where(rec =>rec.Number == reciept.Number && 
         rec.Project.ID == reciept.Project.ID); 

,然後按我的查詢過濾?

或者以某種方式將它轉換爲SQL(Linq2SQL?),並只返回這些行?

回答

1

它只會返回過濾的值。

您可以隨時通過查詢變量指向鼠標光標檢查生成的查詢,而在調試:

var query = Reciepts.Where(rec =>rec.Number == reciept.Number && rec.Project.ID == reciept.Project.ID); 
// put breakpoint here and stop mouse cursor at a 'query' variable 

可以用來檢查什麼是真正被髮送到DB另一個偉大的工具是SQL服務器分析器(http://msdn.microsoft.com/en-us/library/ms187929.aspx)。我一直在用EF進行開發時使用它。