Ich habe ein Szenario, in dem ich eine Basisklasse als eine Entität und dann eine andere Entität habe, die von der anderen Basisklasse abgeleitet ist. Beide haben eine Bedeutung in meiner Domäne und können getrennt verwendet werden.Das Laden einer Basisklasse über nhibernate verwendet fälschlicherweise Zuordnungen abgeleiteter Klassen
public class MyBaseClass
{
int ID { get; set; }
string Name { get; set; }
}
public class MyChildClass
{
string AdditionalField { get; set; }
}
ich haben beide abgebildet Fluent NHibernate ClassMap wie folgt aus:
public class MyBaseClassMap : ClassMap<MyBaseClass>
{
Id("MyBaseClassID");
Map(x => x.Name);
}
public class MyChildClassMap : SubclassMap<MyChildClass>
{
Map(x => x.AdditionalField);
}
Was geschieht, wenn ich versuche, eine Kopie der Basisklasse zu holen, dessen die Zuordnung für das Kind-Klasse . Es ist so, als wüsste es nicht den Unterschied zwischen der Basis- und der Kindklasse oder die Wahl der falschen Zuordnung dafür. Ich habe dies bestätigt, indem ich die SQL-Anweisung und ihre Verknüpfung mit der untergeordneten Tabelle beobachtet und die zusätzliche Spalte abgerufen habe. Gibt es irgendeine Möglichkeit, die richtige Karte zu verwenden?
"Auswahl ist nicht unterbrochen". NHibernate verhält sich genau wie dokumentiert. –