2010-11-23 4 views
0

Je n'utilise pas NHibernate 1.2.0 et je ne peux pas migrer vers une version plus récente. 1.2.0 ne me permet pas de faire des restrictions afin que je puisse remplacer les chaînes vides par rien.Utiliser les noms de schéma dans NHibernate Query - Version 1.2.0

Je suis en train de faire ce qui suit à l'aide CreateQuery

SELECT Col1, COl2 FROM [Employee].[MyTable] WHERE REPLACE(Col1, " ", "") = 'IWANTTHIS' 

D'une certaine façon NHibernate n'aime pas [l'employé]. [MyTable] est-il une autre façon que je peux le faire ou corriger ce que je fais? Je n'en ai aucune idée! Aidez s'il vous plaît

Répondre

0

CreateQuery est pour effectuer des requêtes HQL - qui sont écrites en tant que requêtes d'objets, pas de tables DB. De l'apparence de votre exemple, vous voulez faire une requête SQL, donc CreateSQLQuery serait celui à utiliser. Cependant, à mon avis, vous devriez sérieusement penser à réécrire cela en utilisant ICriteria ou HQL. Y a-t-il une raison pour laquelle vous devez spécifier le SQL de bas niveau?

+0

Non, il n'y a pas de raison d'utiliser SQL de bas niveau tant que je peux faire le travail. Est-ce que ICriteria supporterait la fonction de remplacement pour se débarrasser des espaces vides? S'il vous plaît soyez conscient que j'utilise la version 1.2 d'Hibernate. Il n'y a aucun moyen que nous puissions migrer vers 2 .--- sans dépenser des quantités extraordinaires de temps et d'argent – user205892

Questions connexes