2010-07-16 152 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提供程序的類似查詢,並且我沒有問題。