Taken de http://fabiomaulo.blogspot.com/2009/06/auto-quote-tablecolumn-names.html
NHibernate a ajouté la possibilité de citer automatiquement les noms de tables et de colonnes qui sont des mots réservés à la base de données sélectionnée.
Par exemple si vous avez une classe avec une propriété "Order", si vous essayez de faire: SELECT Order FROM MyTable, alors la plupart des bases de données échoueront à analyser la requête. Dans MSSQL, vous devez faire SELECT [Order] FROM MyTable pour le faire fonctionner (d'où la citation des champs).
Générallement dans NHibernate vous pouvez citer des champs en utilisant `backticks` - ie. dans votre mappage en spécifiant la colonne pour Order comme Order
vous permettrait alors d'utiliser une colonne appelée Order.
La modification de NHibernate permet d'indiquer automatiquement les champs à coter, vous n'avez donc pas besoin d'ajouter les guillemets manuellement.
Taken de cette URL, par exemple la cartographie:
<class name="Order">
<id type="int">
<generator class="native"/>
</id>
<property name="Select"/>
<property name="From"/>
<property name="And"/>
<property name="Column"/>
<property name="Name"/>
</class>
travailleraient sans avoir à citer l'un des noms de table ou de colonne
quel SGBD? . –
Avez-vous vu ce sujet? http://groups.google.com/group/nhusers/browse_thread/thread/87811677a167c3c9 –
Je reçois une erreur similaire. Pouvez-vous fournir des informations supplémentaires sur votre configuration? Le mien est MySQL 5.1, le connecteur MySQL ->. NET 6.1, .NET 3.5 SP1 et NHibernate 2.0. J'utilise également Fluent-NHibernate 1.0 RTM. –