我有两个课程(请求和请求细节).我需要一个
Linq到NHibernatequery之间的两个类之间加入.
var q = SessionInstance.Query<Request>() .Where(x => x.State == "Init"); var q2 = SessionInstance.Query<RequestDetail>(); q2 = q2.Where(xx => xx.Purpose.Contains("Purpose Sample")); // This line has a error When execution `q.ToList()` q = q.Join(q2,request => request.Id,detail => detail.Id,(request,detail) => request); return q.ToList();
当我向q2添加Where条件时,Result有一个运行时错误.异常消息是:不支持指定的方法.
堆栈跟踪 :
at NHibernate.Hql.Ast.ANTLR.polymorphicQuerySourceDetector.GetClassName(IASTNode querySource) at NHibernate.Hql.Ast.ANTLR.polymorphicQuerySourceDetector.Process(IASTNode tree) at NHibernate.Hql.Ast.ANTLR.AstpolymorphicProcessor.Process() at NHibernate.Hql.Ast.ANTLR.ASTQueryTranslatorFactory.createqueryTranslators(IASTNode ast,String queryIdentifier,String collectionRole,Boolean shallow,IDictionary`2 filters,ISessionFactoryImplementor factory) at NHibernate.Hql.Ast.ANTLR.ASTQueryTranslatorFactory.createqueryTranslators(String queryIdentifier,IQueryExpression queryExpression,ISessionFactoryImplementor factory) at NHibernate.Engine.Query.QueryPlanCache.GetHQLQueryPlan(IQueryExpression queryExpression,IDictionary`2 enabledFilters) at NHibernate.Impl.AbstractSessionImpl.GetHQLQueryPlan(IQueryExpression queryExpression,Boolean shallow) at NHibernate.Impl.AbstractSessionImpl.createquery(IQueryExpression queryExpression) at NHibernate.Linq.NhQueryProvider.PrepareQuery(Expression expression,IQuery& query,NhLinqExpression& nhQuery) at NHibernate.Linq.NhQueryProvider.Execute[TResult](Expression expression) at Remotion.Data.Linq.QueryableBase`1.GetEnumerator() at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection) at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
为什么?
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。