0
我想知道選擇使用LINQ 2 SQL表隨機行的最佳方式,而我在尋找,我發現這兩個問題:選擇隨機行中使用LINQ 2 SQL
Get a random row with LINQtoSQL
,但我不認爲這是最好的&最快的方式,使用NEWID()根據MSDN是一個壞的方式來選擇隨機本文就行:
http://msdn.microsoft.com/en-us/library/cc441928.aspx
他們提出了另一個查詢比NEWID方法更快:
SELECT * FROM Table1
WHERE (ABS(CAST(
(BINARY_CHECKSUM(*) *
RAND()) as int)) % 100) < 10
此查詢背後的基本想法是,他們要生成表中的每一行0到99之間的隨機數,然後選擇所有的行,其隨機數小於指定百分比
的價值,但是當我試圖做到這一點使用LINQ我找不到一個相當於BINARY_CHECKSUM
,這樣是他們的等價物BIN ARY_CHECKSUM在LINQ中?
是否真的是隨機選擇行的最快方式? (如果你能幫助我把它轉換爲LINQ代碼這將是對我來說更容易)
感謝您的幫助
您的查詢錯過了幾位,至少在末尾選擇了'select'和一個分號。 – Joey
沒有辦法可以翻譯成SQL – erikkallen
@erikkallen他們的問題是關於linq-to-sql和EF,不是嗎? (undownvote男子)。 – AgentFire