哪里......在......或者哪里......在...中使用NHibernate IQueryOver

Ant*_*lev 8 nhibernate queryover

我正试图用NHibernate模拟主题查询IQueryOver.到目前为止我有

var q = CurrentSession.QueryOver<ObjectModel.Order>().
    WhereRestrictionOn(o => o.Buyer.ID).IsIn(partyIDs).
    WhereRestrictionOn(o => o.Seller.ID).IsIn(partyIDs);
Run Code Online (Sandbox Code Playgroud)

但是,这会生成一个and查询,而我需要or在两个where子句之间有一个运算符.

这是怎么做到的IQueryOver

Ant*_*lev 9

通常情况下,在向公众解释问题后不久就会发现问题.多谢你们!

var q = CurrentSession.QueryOver<ObjectModel.Order>();

q.RootCriteria.Add(Restrictions.Or(
    Restrictions.On<ObjectModel.Order>(o => o.Buyer.ID).IsIn(partyIDs),
    Restrictions.On<ObjectModel.Order>(o => o.Seller.ID).IsIn(partyIDs)));
Run Code Online (Sandbox Code Playgroud)

  • 你也可以检查这个Anton [queryover和(x像'a'或y喜欢'a')](http://stackoverflow.com/questions/4541546/queryover-and-x-like-a-or-y-像一个) (3认同)