簡體   English   中英

Linq-to-Entities / Linq-to-SQL,一種數據輪詢方法更有效嗎?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM