string hql = "from Customer as c left outer join fetch c.Orders"
+ "where c.CustomerId=:id";
using(Session)
{
return Session.CreateQuery(hql).SetInt32("id",id).List<Customer>();
}
当我执行代码时,会出现这样的异常:
EagerLoadCustomerCustomerFetchTest : NHibernate.Hql.st.ANTLRThroughFetchTest : 在QueryId 中的一个失败类型为“Antlr.Runtime.MismatchedTokenException”的异常。 NHibernate.ThrowHQueryException() 中的 NHibernate.ThrowQueryException() 56 列附近。 Ast.ANTLR.HqlParseEngine.Parse() 在 NHibernate.Hql.Ast.ANTLR.ASTQueryTranslatorFactory.CreateQueryTranslators(String queryString, String collectionRole, Boolean shallow, IDictionary
2 filters, ISessionFactoryImplementor factory) 在 NHibernate.Engine.Query.HQLStringQueryPlan.CreateTranslators(String hql, String collectionRole, Boolean shallow, IDictionary
2 enabledFilters, ISessionFactoryImplementor factory) 在 NHibernate.Engine.Query.HQLStringQueryPlan..ctor( String hql, String collectionRole, Boolean shallow, IDictionary2 enabledFilters, ISessionFactoryImplementor factory) 在 NHibernate.Engine.Query.HQLStringQueryPlan..ctor(String hql, Boolean shallow, IDictionary
2 enabledFilters, ISessionFactoryImplementor factory) 在 NHibernate.Engine.Query.QueryPlanCache.GetHQLQueryPlan(String queryString, Boolean shallow, IDictionary`2 enabledFilters) 在 NHibernate.Impl.AbstractSessionImpl.GetHQLQueryPlan(String query, Boolean shallow) 在 NHibernate.Impl.AbstractSessionImpl。 CreateQuery(String queryString) 在 Data.NhibernateSample.EagerLoadCustomerByIdThroughFetch(Int32 id) 位置 DelayLoadTest.cs: line 80 在 NhibernateDataAcessTest.NhibernateSampleFixture.EagerLoadCustomerByIdThroughFetchTest() 位置 LazyLoad.cs: line 73
我的代码有什么问题,谢谢