我想按“NEWID()”或Guid.NewGuid()
订购,但无法使其正常工作。我没有找到关于这个主题的任何例子或文档。
提前致谢
答案 0 :(得分:1)
由于随机排序特定于每个RDBMS提供程序,因此您需要通过自定义SQL函数进行排序,您可以使用自定义SqlExpression进行排序,例如:对于SQL Server:
var randomRows = db.Select<Poco>(q => q.OrderBy("NEWID()"));
但是,我刚刚添加了对新OrderByRandom()
API in this commit的支持,该API抽象了RDBMS特定API保留您现在可以查询的可移植API的方式:
var randomRows = db.Select<Poco>(q => q.OrderByRandom());
此更改可从v4.0.43 +现在available on MyGet获得。