el error está en VB.NET ya que genera un Expression tree incorrecto.

2010/10/4 Victor Mingueza <[email protected]>

> 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




-- 
Fabio Maulo

-- 
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