Кто-нибудь знает способ запуска NHibernate запросов с помощью NHibernate.Linq, как вы можете делать с объектами 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];
Было бы неплохо, если бы я заменил вызовы CreateCriteria вызовами Linq и получил бы что-то вроде этого:
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];
Мы используем API Linq для большинства наших других запросов, и было бы неплохо использовать тот же синтаксис Linq, когда нам нужно также запускать запросы MultiCriteria.
Спасибо.