Linq NHibernate查询<;T>;用分离的标准。。。
我有:Linq NHibernate查询<;T>;用分离的标准。。。,linq,nhibernate,linq-to-nhibernate,Linq,Nhibernate,Linq To Nhibernate,我有: var query = session.Query<MyClass>(); // Here I need to execute a detached criteria, like that : // query.UnderlyingCriteria.Add(SpatialExpression.Within("Geo", extent)); var t = query.Select(item => new MyClassView
var query = session.Query<MyClass>();
// Here I need to execute a detached criteria, like that :
// query.UnderlyingCriteria.Add(SpatialExpression.Within("Geo", extent));
var t = query.Select(item => new MyClassView
{
Name, Year, Code
}
var query=session.query();
//这里我需要执行一个分离的条件,如下所示:
//query.underyingCriteria.Add(spacealPression.inthein(“Geo”,extent));
var t=query.Select(item=>newmyclassview
{
姓名、年份、代码
}
这是查询的一种方式吗?或者另一种方式?我需要一个可查询的结果
感谢linq提供程序不使用隐藏的条件,它使用HQL解析器中的AST。如果您真的需要IQueryable,那么您可以制定如下查询
var ids = session.QueryOver<MyClass>()
.UnderlyingCriteria.Add(SpatialExpression.Within("Geo", extent))
.Select(myclass => myclass.Id)
.List<int>();
var query = session.Query<MyClass>()
.Where(x => ids.Contains(x.Id))
.Select(item => new MyClassView
{
Name, Year, Code
});
var id=session.QueryOver()
.underyingcriteria.Add(空间表达在(“地理”,范围))
.Select(myclass=>myclass.Id)
.List();
var query=session.query()
.其中(x=>ids.Contains(x.Id))
.选择(项=>new MyClassView
{
姓名、年份、代码
});
注意:这使用了2次往返,但是谢谢,如果我想返回IList,只使用QueryOver,我如何返回IList?我尝试了,但得到了一个错误:“无法从新MyClassView()确定成员”在查询结束时投影到DTO的唯一方法如下所示