2010-11-29 46 views

回答

4

它們在功能上等同。它們在各種LINQ提供程序中的實現方式可能會有細微的差異,但我期望的性能幾乎完全相同。在LINQ to SQL的供應商,例如產生兩個查詢完全相同的SQL:

SELECT [t0].[Id], [t0].[Name] 
FROM [dbo].[User] AS [t0] 
WHERE [t0].[Id] = @p0 

我想到的是,同樣適用於實體框架。

如果我不得不挑選一個,我會選擇第二個版本,因爲它更簡潔明瞭,沒有任何損失。事實上,我會說它更清楚 - 關鍵字噪音較少,因此業務邏輯更突出。

2

它們都將完全相同(SQL和效率明智)。

1

它們是相同的。對於兩種LINQ語法,編譯器都應該產生相同的結果。