2010-07-16 88 views
1

我试图像创建使用LINQ 2的NHibernate其生成一个SQL查询:的LINQ to NHibernate的问题

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调用数据库并使用联合运算符,但我不知道是否有一些更优雅的方法。

谢谢

回答

1

您已找到了缺陷。我在trunk中使用了linq提供程序的类似查询,并且我没有问题。