Fluent NHibernate, Zuordnung von verbundenen Unterklassen

8

Ich versuche, ein Szenario mit verbundenen Unterklassen mithilfe von Fluent NHibernate zuzuordnen. Ich habe eine Klasse Entity definiert im Namensraum Core und eine Klasse SubClass: Entität im Namespace SomeModule

Nun möchte ich natürlich nicht, dass die Klassen-Entität davon erfährt Der SomeModules-Namespace verweist auf Core - nicht umgekehrt herum.

Alle Beispiele, die ich gefunden habe, verwenden etwas wie:

%Vor%

Das wird einfach nicht in meiner Situation funktionieren - ich brauche etwas Ähnliches wie NHibernate XML-Zuordnung:

%Vor%

Hat jemand dies mit Fluent NHibernate erreicht?

    
Martin Faartoft 25.11.2008, 16:54
quelle

5 Antworten

10

Ich denke, die API hat sich geändert, seit diese Frage gestellt wurde, aber das funktioniert für mich:

%Vor%

Ich glaube, dass KeyColumn nur benötigt wird, wenn es anders ist als 'Baseclassname_id'

Hinweis: Es sollte auch ein ClassMap<SomeBaseClass> für die Basisklasse sein, die SomeSubClass erweitert.

    
Sean Lynch 06.05.2010 15:52
quelle
1

Entschuldigen Sie Ihren Kommentar, fand dies

%Vor%

Ich hoffe, es hilft, wenn Sie es nicht schon gelöst haben.

    
Magnus Bertilsson 17.12.2008 09:18
quelle
1

Magnus (oder Preis),

Haben Sie herausgefunden, wie Sie das letzte Beispiel in der übergeordneten Mapping-Klasse verwenden? Das funktionierte für mich, aber ich mag es nicht, die SubClassMap selbst zu instantiieren:

%Vor%

Was zu einer ähnlichen Abfrage führte:

%Vor%     
Nagyman 06.01.2009 18:19
quelle
0

Magnus, ich hatte genau die gleiche Art von Problem, und Ihr Vorschlag hat es sortiert.

Der zweite Parameter von JoinedSubClass übernimmt eine SubClassPart-Aktion für Ihr Objekt vom Typ SubT. Daher müssen Sie nur die zusätzlichen Felder auf Ihrem Unterklasse-Objekt zuordnen.

Das vorherige Beispiel mappt eine ID, also nehme ich an, dass das eine andere ID ist als der Wert, dem die Basis und die Unterklasse beitreten, sonst würden Sie anfangen, SqlParameterCollection-Fehler zu sehen.

    
chris raethke 05.12.2008 15:12
quelle
0

Hallo, habe vor ein paar Tagen so etwas gemacht.

%Vor%

Ich hoffe, es hilft

    
Magnus Bertilsson 27.11.2008 15:29
quelle