En ce moment, je change mon projet du style classique de nhibernate fluent de la définition manuelle d'un ClassMap
pour chaque entité de domaine, pour que le mappeur automatique génère automatiquement les mappings pour moi. Mais je voudrais continuer à utiliser les classes que j'ai déjà mappées dans le style classique, jusqu'à ce que je puisse modifier les automappings pour les faire correspondre aux anciens mappings classiques.Dans NHibernate Fluent, comment combiner des types automappés avec des types non-automappés?
Le seul problème est que le nhibernate fluide se bloque lorsque le mappeur automatique frappe une classe qui a déjà été cartographiée dans le style classique de nhibernate.
Voici mon AutoPersistenceModel
code d'installation:
_autoPersistenceModel = AutoMap.AssemblyOf<DomainEntity>();
_autoPersistenceModel.AddMappingsFromAssembly(typeof (PlayerPersistenceMap).Assembly);
_autoPersistenceModel.Alterations(x =>
x.Add<AutoMappingAlteration>())
.Setup(s =>
{
s.FindIdentity = type => type.Name == "ID";
s.IsBaseType = type => (type == typeof(DomainEntity));
})
.Conventions
.AddFromAssemblyOf<IdentityColumnConvention>()
.UseOverridesFromAssemblyOf<PlayerMappingOverride>();
Quelqu'un peut-il me aider?
Plus d'info:
J'ai aussi essayé la technique mentionnée sur le wiki couramment-NHibernate here. Hélas, je reçois toujours l'erreur: Duplicate class/entity mapping
.
J'ai découvert un bogue dans mon code lié à SchemaUpdate, qui aurait pu déclencher le message d'erreur, mais je ne suis pas sûr qu'ils soient liés. Je vais le tester encore aujourd'hui avec le correctif, et faire un commentaire ici si le problème est toujours là. Merci pour votre contribution. –
Hey, je suis retourné et vérifié deux fois, et si je ne fais pas une solution de contournement, alors je reçois toujours l'erreur "duplication de classe/entité mapping" –