Je suivais le tutoriel http://wiki.fluentnhibernate.org/Getting_started pour créer mon premier projet NHibernate avec Fluent NHibernateMapping ENUM avec Fluent NHibernate
J'ai 2 tables
1) compte avec des champs
Id
AccountHolderName
AccountTypeId
2) AccountType avec champs
Id
AccountTypeName
Maintenant types nt peuvent être épargne ou courant donc la table AccountTypes magasins 2 lignes 1 - épargne 2 - Courant
Pour table AccoutType Je définis ENUM
public enum AccountType {
Savings=1,
Current=2
}
Pour table de compte I définir la classe d'entité
public class Account {
public virtual int Id {get; private set;}
public virtual string AccountHolderName {get; set;}
public virtual string AccountType {get; set;}
}
Les applications de fluent NHibernate sont:
public AgencyMap() {
Id(o => o.Id);
Map(o => o.AccountHolderName);
Map(o => o.AccountType);
}
Lorsque j'essaie d'exécuter la solution, il donne une exception - InnerException = {"(XmlDocument) (2,4): Erreur de validation XML: L'élément 'class' dans l'espace de noms 'urn: nhibernate-mapping-2.2' a contenu incomplet. Liste des éléments possibles attendus: 'méta, sous-sélection, cache, synchroniser, commenter, tuplizer, id, composite-id' dans l'espace de nom ...
Je suppose que c'est parce que je n'ai pas spéci fi é de mapping pour AccountType.
Les questions sont les suivantes:
- Comment puis-je utiliser AccountType ENUM au lieu d'une classe AccountType?
- Peut-être que je me trompe. Y a-t-il une meilleure manière de faire cela?
Merci!
Aha! J'utilisais CustomSqlType et ça ne fonctionnait pas! Ce dont j'avais besoin était CustomType! –
AcountType est un Enum donc toutes les entités seront sales après le chargement. Voir http://stackoverflow.com/questions/3531937/enum-to-integer-mapping-causing-updates-on-every-flush – schoetbi
+1 Merci m8 qui fonctionne parfaitement! – IamStalker