2011-06-25 70 views

回答

1

隨機化行中的DataTable:

http://www.pluralsight-training.net/community/blogs/fritz/archive/2008/04/16/50729.aspx

此外,從評論:

「你考慮只是將GUID分配給rndSortId列並對該列進行排序?

因爲GUID是隨機的,所以應該得到一個快速,簡單和隨機的排序。「

+0

所以我不能使用Select()方法? –

+0

我不這麼認爲,你必須按照以下定義對*表達式*或者表名或表達式進行排序:http://msdn.microsoft.com/en-us/library/system.data.datacolumn .expression(v = vs.71)的.aspx。像您在T-SQL示例中那樣,似乎沒有辦法創建隨機值。 –

7
var rand = new Random();  
var result = dt.AsEnumerable().OrderBy(r => rand.Next()); 
+0

這是什麼? –

+0

@Gerald,http://msdn.microsoft.com/en-us/library/bb397687.aspx –

+0

是的,這是做到這一點的方法。對T-SQL中的NEWID()進行排序以隨機順序返回行是一種破解,儘管它很有用。 DataTable.Select()沒有相當的黑客攻擊。 –

相關問題