2010-05-20 5 views
1

J'utilise Nhibernate 2 et PostgreSqlNhibernate - Comment se débarrasser du texte non désiré jeter

Le code ci-dessus générer une requête avec un casting sur l'expression

res = _session.CreateCriteria(typeof(C)) 
        .Add(Restrictions.Eq("Exp", Exp)) 
        .AddOrder(new Order("Fr", false)) 
        .SetMaxResults(MW) 
        .List<C>(); 

Exp est un caractère variable (30)

la requête générée ressemble à: SELECT ... FROM table WHERE Exp = 'text' :: text ...

Je veux se débarrasser du texte cast »" :: texte parce que l'index n'est pas utilisé

Nicolas

Répondre

1

Cela n'a aucun sens. La distribution ne devrait pas avoir d'importance. Est-ce une base de données UTF-8?

+1

C'est une base de données UTF-8. Si je supprime la distribution dans la requête, le plan de requête n'est pas le même, l'index est utilisé. –

Questions connexes