ich bin Automapping mit fließend nHibernate verwenden, sehr einfach, etwa so:autopmapping mit UseOverridesFromAssemblyOf stellt nicht überwiegende Klasse von Basisklasse
Fluently.Configure()
.Database(MsSqlConfiguration.MsSql2008
.ConnectionString(c => c
.Server("(local)\\sql2008")
.Database("nHibernate_test")
.TrustedConnection()))
.Mappings(m => m.AutoMappings.Add(
AutoMap.AssemblyOf<Domain.Airport>(cfg)
.UseOverridesFromAssemblyOf<ReaderMappingOverride>()
))
meiner vorrangigen Klassen so etwas sind:
public class ReaderMappingOverride : IAutoMappingOverride<Domain.Reader>
{
public void Override(AutoMapping<Domain.Reader> mapping)
{
//use the reader ID as identifier of the class, instead of the ID field defined in superclass Entity
mapping.IgnoreProperty(r => r.Id);
mapping.Id(r => r.ReaderNumber);
}
}
wobei Reader eine abstrakte Basisklasse ist. Wenn ich eine separate Klasse für jede Unterklasse verwenden, funktioniert es OK. Gibt es eine Möglichkeit, das Überschreiben für alle Unterklassen der abstrakten Klasse zu definieren?
Dank,
Jhonny