Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ICriteria和Linq一起去NHibernate_Linq_Nhibernate_Linq To Nhibernate_Icriteria - Fatal编程技术网

ICriteria和Linq一起去NHibernate

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

如何使用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.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>();