如何使用 subsonic 3 获取随机行列表

发布于 2024-09-08 17:30:21 字数 124 浏览 3 评论 0原文

我正在使用 SubSonic 3 版本的 Active record 模式。我的要求是从表中随机获取 3 行。经过一番谷歌搜索后,我发现我可以在 SQL 中使用 NewID 函数,但我不知道如何使用亚音速获取 Randow 行 谢谢

I am using Active record pattern of SubSonic 3 version. My requirement is to get 3 random rows from the Table. After some googling I found out that I can use NewID function in SQL but I dont know to get the Randow rows using sub sonic
Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

尐籹人 2024-09-15 17:30:21

亚音速总是有一个“后门”。它称为 InlineQuery (SubSonic 2.2) 或 CodingHorror (SubSonic 3): http://subsonicproject.com/docs/CodingHorror< /a>

你的 SQL 查询可能看起来像这样:

SELECT top 3
newid() as sortorder, id
FROM some_table
ORDER by sortorder

所以我建议这样

List<int> result = new CodingHorror(@"
       SELECT TOP 3
       id, newid() as sortorder
       FROM some_table
       ORDER by sortorder
    ).ExecuteTypedList<int>();

如果它没有从 subsonic 2.2 更改为 3,ExcecuteTypedList() 方法在与 valuetype 作为泛型一起使用时返回查询中的第一个元素类型参数。在本例中:id.

这也可能有效:

List<Product> result = new CodingHorror(@"
       SELECT TOP 3
       *, newid() as sortorder
       FROM products
       ORDER by sortorder
    ).ExecuteTypedList<Product>();

There's always a "backdoor" with subsonic. It's called InlineQuery (SubSonic 2.2) or CodingHorror (SubSonic 3): http://subsonicproject.com/docs/CodingHorror

Your SQL Query will probably look like this:

SELECT top 3
newid() as sortorder, id
FROM some_table
ORDER by sortorder

So I would suggest something like this

List<int> result = new CodingHorror(@"
       SELECT TOP 3
       id, newid() as sortorder
       FROM some_table
       ORDER by sortorder
    ).ExecuteTypedList<int>();

If it didn't changed from subsonic 2.2 to 3 the ExcecuteTypedList() method returns the first element from the query when used with a valuetype as the generic type parameter. In this case: id.

This might work, too:

List<Product> result = new CodingHorror(@"
       SELECT TOP 3
       *, newid() as sortorder
       FROM products
       ORDER by sortorder
    ).ExecuteTypedList<Product>();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文