Qualcuno sa di un modo per lotti query NHibernate utilizzando NHibernate.Linq come si può fare con multicriteria e ICriteria oggetti?NHibernate.Linq e multicriterio
Con Multicriteri posso creare qualcosa di simile:
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];
sarebbe bello se si sostituisce la createCriteria chiamate con chiamate Linq e ottenere qualcosa di simile:
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];
stiamo usando l'API di Linq per la maggior parte delle altre query e sarebbe bello utilizzare la stessa sintassi di Linq quando è necessario eseguire anche le query di MultiCriteria.
Grazie.
Grazie, dovrò esaminare la NHibernateQueryTranslator e vedere se riesco a far funzionare qualcosa. –