当前位置:  开发笔记 > 编程语言 > 正文

NHibernate.Linq和MultiCriteria

如何解决《NHibernate.Linq和MultiCriteria》经验,为你挑选了0个好方法。

有人知道使用NHibernate.Linq批量NHibernate查询的方法,就像你可以使用MultiCriteria和ICriteria对象一样吗?

使用MultiCriteria,我可以创建这样的东西:

var crit = session.CreateMultiCriteria()
                  .Add(session.CreateCriteria(typeof(Entity1)).Add(Restrictions.Eq("Property1","Value"))
                  .Add(session.CreateCriteria(typeof(Entity2)).Add(Restrictions.Eq("Property2","Value2"));               

var result = crit.List();
var list1 = (IList)result[0];
var list2 = (IList)result[1];

如果我用Linq调用替换CreateCriteria调用并获得如下内容将会很好:

var crit = session.CreateMultiCriteria()
                .Add(session.Linq().Where(x => x.Property1 == "Value1")
                .Add(session.Linq().Where(x => x.Property2 == "Value2");

var result = crit.List();
var list1 = (IList)result[0];
var list2 = (IList)result[1];

我们在大多数其他查询中使用Linq API,当我们需要运行MultiCriteria查询时,使用相同的Linq语法会很好.

谢谢.

推荐阅读
oDavid_仔o_880
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有