【发布时间】:2019-06-02 12:33:10
【问题描述】:
我有课程Foo 和Bar
class Foo {
string Name;
IList<Bar> Bars;
}
class Bar {
string Name;
}
我有一个输入 q,我想编写一个 NHibernate 查询,如果 Foo.Name 包含 q 或任何 Bars 对象的 Names 包含 @,则返回 Foo 对象列表987654330@.
我知道如何进行单独的查询,但我不确定如何将其组合为 1,并在两者之间使用 OR 运算符。基本上,如果Foo 对象在其名称或任何Bars 名称中包含q,我希望Foo 对象出现在输出中。
this.sessionFactory.GetCurrentSession()
.QueryOver<Foo>()
.Where(x => x.Name.IsInsensitiveLike(q))
.List();
this.sessionFactory.GetCurrentSession()
.QueryOver<Foo>()
.JoinQueryOver<Bar>(x => x.Bars)
.Where(x => x.Name.IsInsensitiveLike(q))
.List();
【问题讨论】:
标签: c# nhibernate queryover