您好,有没有办法从代码中以编程方式从nhibernate构建queryover?

我不知道会有多少限制,我正在建立多少个自动机将从对象列表进行queryover的表。

最佳答案

如果您正在谈论动态限制,则可以执行以下操作:

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);
}

关于c# - nHibernate QueryOver以编程方式构建?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10500025/

10-13 02:45