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 ()
我错过了什么吗?
答案 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();