I can open a session and execute a HQL query succesfully, but the same query using Linq throws this exception.
Code: Select all
"NHibernate.Exceptions.GenericADOException: could not execute query
[ select tenant0_.id as id0_, tenant0_.nombre as nombre0_, tenant0_.tenant_base as tenant3_0_ from core.tenant tenant0_ where tenant0_.id>:p0 ]
Name:p1 - Value:1
[SQL: select tenant0_.id as id0_, tenant0_.nombre as nombre0_, tenant0_.tenant_base as tenant3_0_ from core.tenant tenant0_ where tenant0_.id>:p0] ---> Devart.Data.PostgreSql.PgSqlException: Parameter 'p0' is missing
en Devart.Data.PostgreSql.PgSqlCommand.a(String A_0, Boolean A_1)
en Devart.Data.PostgreSql.PgSqlCommand.InternalExecute(CommandBehavior behavior, IDisposable stmt, Int32 startRecord, Int32 maxRecords)
en Devart.Common.DbCommandBase.InternalExecute(CommandBehavior behavior, IDisposable stmt, Int32 startRecord, Int32 maxRecords, Boolean nonQuery)
en Devart.Common.DbCommandBase.ExecuteDbDataReader(CommandBehavior behavior, Boolean nonQuery)
en Devart.Common.DbCommandBase.ExecuteDbDataReader(CommandBehavior behavior)
en System.D
ata.Common.DbCommand.System.Data.IDbCommand.ExecuteReader()
en NHibernate.AdoNet.AbstractBatcher.ExecuteReader(IDbCommand cmd)
en NHibernate.Loader.Loader.GetResultSet(IDbCommand st, Boolean autoDiscoverTypes, Boolean callable, RowSelection selection, ISessionImplementor session)
en NHibernate.Loader.Loader.DoQuery(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies)
en NHibernate.Loader.Loader.DoQueryAndInitializeNonLazyCollections(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies)
en NHibernate.Loader.Loader.DoList(ISessionImplementor session, QueryParameters queryParameters)
--- Fin del seguimiento de la pila de la excepción interna ---
en NHibernate.Loader.Loader.DoList(ISessionImplementor session, QueryParameters queryParameters)
en NHibernate.Loader.Loader.ListIgnoreQueryCache(ISessionImplementor session, QueryParameters queryParameters)
en NHibernate.Loader.Loader.List(ISessionImplemen
tor session, QueryParameters queryParameters, ISet`1 querySpaces, IType[] resultTypes)
en NHibernate.Hql.Ast.ANTLR.Loader.QueryLoader.List(ISessionImplementor session, QueryParameters queryParameters)
en NHibernate.Hql.Ast.ANTLR.QueryTranslatorImpl.List(ISessionImplementor session, QueryParameters queryParameters)
en NHibernate.Engine.Query.HQLQueryPlan.PerformList(QueryParameters queryParameters, ISessionImplementor session, IList results)
en NHibernate.Impl.SessionImpl.List(IQueryExpression queryExpression, QueryParameters queryParameters, IList results)
en NHibernate.Impl.AbstractSessionImpl.List(IQueryExpression queryExpression, QueryParameters parameters)
en NHibernate.Impl.ExpressionQueryImpl.List()
en NHibernate.Linq.DefaultQueryProvider.ExecuteQuery(NhLinqExpression nhLinqExpression, IQuery query, NhLinqExpression nhQuery)
en NHibernate.Linq.DefaultQueryProvider.Execute(Expression expression)
en NHibernate.Linq.DefaultQueryProvider.Execute[TResult](
Expression expression)
en Remotion.Linq.QueryableBase`1.GetEnumerator()
en System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
en System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
en ErrorDevartPotgreSQL.Form1.Form1_Load(Object sender, EventArgs e) en o:\\Pruebas\\ErrorDevartPotgreSQL\\ErrorDevartPotgreSQL\\Form1.cs:línea 56"
Code: Select all
Configuration cfg = new Configuration().AddAssembly(typeof(Program).Assembly);
ISessionFactory sessionFactory = cfg.BuildSessionFactory();
ISession session = sessionFactory.OpenSession();
//This works
var query = session.CreateQuery("from Tenant where Id > 1");
var res = query.List();
//This throws the exception
var query2 = session.Query<ErrorDevartPotgreSQL.Tenant>().Where(x => x.Id > 1);
var res2 = query2.ToList();
Do you have any idea about what could be wrong?
Thanks!