servicestack.ormlite sql.in不支持空列表

时间:2013-12-20 14:33:24

标签: servicestack ormlite-servicestack

github上有一个合并,表明sql.in现在支持空列表,而不是生成无效的sql,但它对我不起作用(SS v4)。

var list = new List<string>(); //this empty list should indicate "return all"
var orders = db.Select<Order>(o => Sql.In(o.Status, list));

this链接,它似乎已经实现,但我仍然得到以下SQL:

SELECT "OrderID", "Status"
FROM "Order"
WHERE "PaymentStatus" In ()

我错过了什么吗?

1 个答案:

答案 0 :(得分:1)

另一种解决方案是 您可以使用常规Linq查询

来处理它

服务堆栈API

outputQuery= db.Select<DTOName>(x => x.Where(r => Sql.In(r.listId, anyList)));

更改上述查询以支持空列表 Linq查询

outputQuery= db.Select<DTOName>().Where(s => anyList.Contains(s.listId))

if(profiles)var outputQueryWithNoerror = outputQuery.ToList();