2014-07-27 56 views
0

此問題可能不太相關。它比其他任何事情都更加出於好奇。Linq使用SingleorDefault查詢語法差異

就速度而言,Option1與Option2相比有沒有真正的優勢?

Option1 

var avariable = session.Query<Someclass>() 
         .SingleOrDefault(x => x.something == someotherThing); 

Option 2 

var avariable = session.Query<Someclass>() 
         .Where(x => x.something == someotherThing) 
         .SingleOrDefault(); 

預先感謝

+0

你試過了嗎? – DavidG

+0

如果這是通過NHibernate數據庫訪問層提供者運行的,那麼它可能取決於它。我沒有直接使用它,但是如果它們都轉換爲單個HQL查詢,那麼我懷疑它有任何性能差異。 –

+0

談到性能,這是一個必讀[哪個更快?](http://ericlippert.com/2012/12/17/performance/rant/) – Steve

回答

1

選項1是更快打字。

(他們都應該創建因此相同的SQL結果在相同的性能,選擇1只是更簡潔)