[英]Linq-to-Entities/Linq-to-SQL, Is One Data Polling Method More Efficient?
以下兩個示例是否不同?如果不同,哪個更有效?
var user = (from u in db.Users where u.Id == userId select u).Single();
和
var user = db.Users.Single(p => p.Id == userId);
它們在功能上是等效的。 在各種LINQ提供程序中實現它們的方式可能略有不同,但是我希望性能幾乎完全相同。 例如,LINQ to SQL提供程序會為兩個查詢生成完全相同的SQL:
SELECT [t0].[Id], [t0].[Name]
FROM [dbo].[User] AS [t0]
WHERE [t0].[Id] = @p0
我希望這同樣適用於實體框架。
如果我必須選擇一個版本,我會選擇第二個版本,因為它更簡潔,而且不失清晰。 實際上,我想說的很清楚-關鍵字干擾少,因此業務邏輯更加突出。
它們最終將是完全相同的(SQL和效率明智)。
他們是一樣的。 兩種LINQ語法的編譯器應產生相同的結果。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.