如何在 ServiceStack OrmLite 中随机排序?
How to order random in ServiceStack OrmLite?
我想通过 "NEWID()" 或 Guid.NewGuid()
订购,但无法成功。我没有找到有关此主题的任何示例或文档。
提前致谢
由于随机排序特定于每个 RDBMS 提供程序,因此您需要通过自定义 SQL 函数进行排序,您可以使用自定义 SqlExpression,例如SQL 服务器:
var randomRows = db.Select<Poco>(q => q.OrderBy("NEWID()"));
不过,我刚刚添加了对新 OrderByRandom()
API in this commit 的支持,它抽象了特定于 RDBMS API 的方式来保留可移植的 API,您现在可以查询:
var randomRows = db.Select<Poco>(q => q.OrderByRandom());
此更改适用于 v4.0.43+,即现在 available on MyGet。
我想通过 "NEWID()" 或 Guid.NewGuid()
订购,但无法成功。我没有找到有关此主题的任何示例或文档。
提前致谢
由于随机排序特定于每个 RDBMS 提供程序,因此您需要通过自定义 SQL 函数进行排序,您可以使用自定义 SqlExpression,例如SQL 服务器:
var randomRows = db.Select<Poco>(q => q.OrderBy("NEWID()"));
不过,我刚刚添加了对新 OrderByRandom()
API in this commit 的支持,它抽象了特定于 RDBMS API 的方式来保留可移植的 API,您现在可以查询:
var randomRows = db.Select<Poco>(q => q.OrderByRandom());
此更改适用于 v4.0.43+,即现在 available on MyGet。