Hola,

  Actualmente estoy haciendo un proyecto con VB.Net y queria usar
NHibernate 3.0.

  He descubierto un bug que en los test que tenéis con C# me imagino
que no sucederá y debe de ser al realizar la traducción de la Query
desde VB.Net haciendo uso del operador =

La sentencia Linq que ejecuta es la siguiente:

     From a In Session.Query(of AnimalEntity) Where a.Nombre = "leon6"
Select a

En cambio si la cambio por esta se ejecuta correctamente

   From a In Session.Query(of AnimalEntity) Where
a.Nombre.Equals("leon6") Select a


Puede ser debido a un error en la traducción del operador = de VB.Net
que en C# es ==.?

Y esta la excepcion:

NotSuportedException Int32 CompareString(System.String, System.String,
Boolean)


   at
NHibernate.Linq.Visitors.HqlGeneratorExpressionTreeVisitor.VisitMethodCallExpression(MethodCallExpression
expression)
   at
NHibernate.Linq.Visitors.HqlGeneratorExpressionTreeVisitor.VisitExpression(Expression
expression)
   at
NHibernate.Linq.Visitors.HqlGeneratorExpressionTreeVisitor.VisitBinaryExpression(BinaryExpression
expression)
   at
NHibernate.Linq.Visitors.HqlGeneratorExpressionTreeVisitor.VisitExpression(Expression
expression)
   at
NHibernate.Linq.Visitors.HqlGeneratorExpressionTreeVisitor.Visit(Expression
expression, VisitorParameters parameters)
   at
NHibernate.Linq.Visitors.QueryModelVisitor.VisitWhereClause(WhereClause
whereClause, QueryModel queryModel, Int32 index)
   at Remotion.Data.Linq.Clauses.WhereClause.Accept(IQueryModelVisitor
visitor, QueryModel queryModel, Int32 index)
   at
Remotion.Data.Linq.QueryModelVisitorBase.VisitBodyClauses(ObservableCollection`1
bodyClauses, QueryModel queryModel)
   at
Remotion.Data.Linq.QueryModelVisitorBase.VisitQueryModel(QueryModel
queryModel)
   at NHibernate.Linq.Visitors.QueryModelVisitor.Visit()
   at
NHibernate.Linq.Visitors.QueryModelVisitor.GenerateHqlQuery(QueryModel
queryModel, VisitorParameters parameters, Boolean root)
   at
NHibernate.Linq.NhLinqExpression.Translate(ISessionFactoryImplementor
sessionFactory)
   at
NHibernate.Hql.Ast.ANTLR.ASTQueryTranslatorFactory.CreateQueryTranslators(String
queryIdentifier, IQueryExpression queryExpression, String
collectionRole, Boolean shallow, IDictionary`2 filters,
ISessionFactoryImplementor factory)
   at
NHibernate.Engine.Query.HQLExpressionQueryPlan.CreateTranslators(String
expressionStr, IQueryExpression queryExpression, String
collectionRole, Boolean shallow, IDictionary`2 enabledFilters,
ISessionFactoryImplementor factory)
   at NHibernate.Engine.Query.HQLExpressionQueryPlan..ctor(String
expressionStr, IQueryExpression queryExpression, String
collectionRole, Boolean shallow, IDictionary`2 enabledFilters,
ISessionFactoryImplementor factory)
   at NHibernate.Engine.Query.HQLExpressionQueryPlan..ctor(String
expressionStr, IQueryExpression queryExpression, Boolean shallow,
IDictionary`2 enabledFilters, ISessionFactoryImplementor

Un saludo

-- 
Para escribir al Grupo, hágalo a esta dirección: 
[email protected]
Para más, visite: http://groups.google.com/group/NHibernate-Hispano

Responder a