2009-11-09 50 views
1

什麼是LINQ到SQL的SQL語言關鍵字FirstOrDefaultSingleOrDefaultLINQ的SQL腳本中的FirstOrDefault?

是不是TOP(1)

例:

SELECT TOP(1) @ItemCode = ItemCode FROM VendorItem WHERE VendorId = @VendorId 

不能有超過1個結果反正既然有一個唯一的密鑰constranint,我必須拼出來的TOP(1)或不管它是什麼?

注意:我不需要LINQ的答案,我的問題是如何編寫sql腳本。

回答

3

如果有一個唯一的鍵約束,您不需要添加任何東西來具有FirstOrDefault行爲。對於其他疑問,您可以添加

LIMIT 1

到您的SQL查詢的結尾。這隻會給你第一個符合你的約束的答案。

編輯之後評論:爲了得到它在.NET中的標量,你可以使用SQLCommand.ExecuteScalar方法。

+0

你的意思是我可以聲明一個標量變量並選擇正確的結果。糾正我,如果我錯了。 – Shimmy 2009-11-09 09:47:31

+0

我實際上需要它的SQL計算列的ret值,但無論如何,從你的更新中我可以理解,我沒有錯:)謝謝很多。 – Shimmy 2009-11-11 23:50:27