你好,有没有一个选项可以从代码中以编程方式从 nhibernate 构建查询?
我不知道会有多少限制,我正在构建自动生成多少个表,这些表将从对象列表中进行查询。
你好,有没有一个选项可以从代码中以编程方式从 nhibernate 构建查询?
我不知道会有多少限制,我正在构建自动生成多少个表,这些表将从对象列表中进行查询。
如果您在谈论动态限制,那么您可以这样做:
var query = _session.QueryOver<Something>();
if(someterm!=null)
query.Where(x=>x.SomeTerm==someTerm);
if(someotherterm!=null)
query.Where(x=>x.SomeOtherTerm==someotherterm);
var results = query.List();
如果您需要喜欢,您甚至可以动态加入:
if(something!=null){
SomeReference srAlias = null;
query.JoinAlias(x=>x.SomeReference,()=>srAlias, JoinType.LeftOuterJoin)
.Where(x=>srAlias.Something==something);
}