ICriteria和Linq一起去NHibernate
如何使用ICriteria和Linq创建一个查询? 例如:ICriteria和Linq一起去NHibernate,linq,nhibernate,linq-to-nhibernate,icriteria,Linq,Nhibernate,Linq To Nhibernate,Icriteria,如何使用ICriteria和Linq创建一个查询? 例如: var q=Session .Query() .其中(x.Id==1) .ToCriteria() .Add(Restrictions.Eq(“Title”,“Ayende@Rahien”)) .List(); 我认为,您应该使用QueryOver: var q = Session .QueryOver<T>() .Where(x.Id == 1) .Add(Restrictions.Eq(Projections.Prope
var q=Session
.Query()
.其中(x.Id==1)
.ToCriteria()
.Add(Restrictions.Eq(“Title”,“Ayende@Rahien”))
.List();
我认为,您应该使用QueryOver:
var q = Session
.QueryOver<T>()
.Where(x.Id == 1)
.Add(Restrictions.Eq(Projections.Property<T>(x.Title), "Ayende @ Rahien"))
.List<T>();
var q=Session
.QueryOver()
.其中(x.Id==1)
.Add(Restrictions.Eq(Projections.Property(x.Title),“Ayende@Rahien”))
.List();
谢谢您这么快的回答!公认的答案具有误导性。标准和LINQ不能混用。发生的事情是QueryOver是一个用于条件的强类型包装器;Where
语句没有LINQ。
var q = Session
.QueryOver<T>()
.Where(x.Id == 1)
.Add(Restrictions.Eq(Projections.Property<T>(x.Title), "Ayende @ Rahien"))
.List<T>();