J'ai une bibliothèque de modèles que je veux construire automatiquement ses mappages NHibernate en utilisant FluentNhibernate. Il y a une convention que j'aimerais ajouter à ce modèle et que chaque nom de table se termine par 's'. Alors, voici ce que je fais:AutoMapping FluentNHibernate: ClassConvention ne fonctionne pas
new AutoPersistenceModel()
.AddEntityAssembly(typeof(User).Assembly)
.Conventions.Add(typeof(ClassConvention))
.WriteMappingsTo(@"E:\Temp\");
Voici le code de ClassConvention:
private class ClassConvention:IClassConvention
{
public void Apply(IClassInstance instance)
{
instance.Table(instance.EntityType.Name+"s");
}
}
mais il ne fonctionne tout simplement pas l'attribut de table work.No est ajouté à étiquette de classe quand je lance ce code. S'il vous plaît aidez-moi à comprendre ce qui ne va pas avec mon code?
Mise à jour:
Je déboguée mon code et je suis sûr que cette ligne:
instance.Table(instance.EntityType.Name+"s");
est appelé.
Quelle version de NHibernate Fluent utilisez-vous? – Firo
NHibernate 3.3.0.4 – Beatles1692