如何使用Select()來做到這一點?如何隨機對DataTable.Select()進行排序
如果在SQL翻譯,這將是這樣的:
select * from sometable where (somecondition) order by somefieldname desc, newid()
如何使用Select()來做到這一點?如何隨機對DataTable.Select()進行排序
如果在SQL翻譯,這將是這樣的:
select * from sometable where (somecondition) order by somefieldname desc, newid()
隨機化行中的DataTable:
http://www.pluralsight-training.net/community/blogs/fritz/archive/2008/04/16/50729.aspx
此外,從評論:
「你考慮只是將GUID分配給rndSortId列並對該列進行排序?
因爲GUID是隨機的,所以應該得到一個快速,簡單和隨機的排序。「
var rand = new Random();
var result = dt.AsEnumerable().OrderBy(r => rand.Next());
這是什麼? –
@Gerald,http://msdn.microsoft.com/en-us/library/bb397687.aspx –
是的,這是做到這一點的方法。對T-SQL中的NEWID()進行排序以隨機順序返回行是一種破解,儘管它很有用。 DataTable.Select()沒有相當的黑客攻擊。 –
所以我不能使用Select()方法? –
我不這麼認爲,你必須按照以下定義對*表達式*或者表名或表達式進行排序:http://msdn.microsoft.com/en-us/library/system.data.datacolumn .expression(v = vs.71)的.aspx。像您在T-SQL示例中那樣,似乎沒有辦法創建隨機值。 –