Subsonic 如何使用亚音速3获得随机行列表

Subsonic 如何使用亚音速3获得随机行列表,subsonic,subsonic3,Subsonic,Subsonic3,我正在使用亚音速3版本的活动记录模式。我的要求是从表中随机获得3行。通过谷歌搜索,我发现我可以在SQL中使用NewID函数,但我不知道如何使用sub-sonic获取Randow行 谢谢亚音速飞行总是有“后门”。它被称为InlineQuery(亚音速2.2)或Codinghoror(亚音速3): 您的SQL查询可能如下所示: SELECT top 3 newid() as sortorder, id FROM some_table ORDER by sortorder 所以我建议这样做 List

我正在使用亚音速3版本的活动记录模式。我的要求是从表中随机获得3行。通过谷歌搜索,我发现我可以在SQL中使用NewID函数,但我不知道如何使用sub-sonic获取Randow行 谢谢

亚音速飞行总是有“后门”。它被称为InlineQuery(亚音速2.2)或Codinghoror(亚音速3):

您的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>();
List result=new CodingHorror(@)
选择前三名
id,newid()作为排序器
从某张桌子上
排序者命令
).ExecuteTypedList();
如果它没有从亚音速2.2更改为3,则ExcecuteTypedList()方法在将valuetype用作泛型类型参数时返回查询中的第一个元素

这也可能奏效:

List<Product> result = new CodingHorror(@"
       SELECT TOP 3
       *, newid() as sortorder
       FROM products
       ORDER by sortorder
    ).ExecuteTypedList<Product>();
List result=new CodingHorror(@)
选择前三名
*,newid()作为排序器
来自产品
排序者命令
).ExecuteTypedList();