任何人都知道使用 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<Entity1>().Where(x => x.Property1 == "Value1")
.Add(session.Linq<Entity2>().Where(x => x.Property2 == "Value2");
var result = crit.List();
var list1 = (IList<Entity1>)result[0];
var list2 = (IList<Entity2>)result[1];
我们对大多数其他查询使用 Linq API,当我们还需要运行 MultiCriteria 查询时,使用相同的 Linq 语法会很好。
谢谢。