我正在尝试使用linq 2 nhibernate创建一个查询,它生成一个类似的SQL:
select * from table
where id in (1, 2, 3, 4)
目前我有这段代码:
var vouchers = Session.Linq<Voucher>()
.Where(x => campaignIds.Contains(x.VoucherGroup.Campaign.Id))
.ToArray();
campaignIds是“长”变量的数组。
但是这段代码只会下载所有优惠券并进行迭代,以便只查找具有特定campaignId的优惠券。
我当然可以遍历广告系列ID并为每个广告系列ID调用数据库并使用union运算符,但我想知道是否有一些更优雅的方法。
由于
答案 0 :(得分:1)
您发现了一个错误。我在trunk中使用了linq提供程序的类似查询,我没有遇到任何问题。