2009-05-09 13 views
0

Ich habe eine Bibliothek mit einer Klasse namens Recipient, die eigene flüssige Mapping-Setup innerhalb der Bibliothek hat.Fließende NHibernate Mapping einer verbundenen Unterklasse ohne die ursprüngliche Klassendatei

Jetzt in einem anderen Projekt habe ich eine neue Klasse namens SentEmail erstellt, die von Recipient erbt, ich möchte in der Lage sein, eine neue Mapping-Klassendatei basierend auf der ursprünglichen Recipient Map zu erstellen. Wenn ich die ursprüngliche ClassMap-Datei aktualisieren könnte, würde ich verwenden

JoinedSubClass ("ID", m =>MAPPING HIER);

Da ich jedoch die ursprüngliche Klassenkarte nicht anpassen kann, bin ich fest, wie ich das machen kann.

Es muss einen anderen Weg geben, diese Katze zu häuten, wenn jemand irgendwelche Ideen hat, würden sie sehr geschätzt werden.

Dank

UPDATE

auch eine Sache, die ich vergessen habe, auf einen Teil der Details in der neuen SentEmail Modellklasse zu erwähnen ist in einer separaten Tabelle an die Empfänger-Tabelle gespeichert.

Antwort

1

Wenn Sie die ursprüngliche Zuordnung überhaupt nicht anpassen können, haben Sie kein Glück; Andernfalls können Sie die AddPart-Methode verwenden, um eine separate Instanz von JoinedSubClassPart hinzuzufügen.

Eine beiseite: Ihr Design klingt ein bisschen eigenartig. SentEmail klingt nicht so, als sollte es wirklich von erben. SentEmail würde von Email oder SuccessfulRecipient von erben; Recipient und Email sind zwei separate Konzepte.

+0

Das ist ein guter Punkt, danke James, ich habe den Namen zu RecipientEmailHistory geändert, da es mehr auf den Empfänger als die E-Mail bezogen ist. Ich habe auch entschieden, dass das Erstellen einer Zuordnung für die Datei nicht erforderlich war, da es eine schreibgeschützte Klasse war, also erstelle ich eine Abfrage und transformiere sie in mein neues Modell mit NHibernate.Transform.Transformers.AliasToBean. Danke für Ihre Hilfe. –

Verwandte Themen