Wir haben eine Situation, in der wir eine Beziehung definieren wollen, in der eine Klasse (Modul genannt) mit einem Module-Objekt, das ein Vorgänger ist, verknüpft sein kann. Es kann keine oder keine Vorgänger geben. Die Klasse sieht wie folgt aus:Nhibernate Eins-zu-Eins-Zuordnung einer Klasse mit sich selbst
public class Module
{
public int Id
{
get;
set;
}
// other stuff here
public Module Predecessor
{
get;
set;
}
}
Und wir haben unsere Mapping definiert, so dass Predecessor eine Eigenschaft des Typs Modul ist etwa so:
<class name="Module">
<Id name="Id">
<generator class="native/>
</Id
<property name="Predecessor" type="Module" "unique="true"/>
<class>
Allerdings bekommen wir Beschwerden über die Zuordnung nicht in der Lage, kompilieren, weil es den Typ "Modul" nicht finden kann. Wir haben den langen Namen für die Klasse versuchen
type="STC.EI.JobSubmissionSystem.Data.Domain"
und den vollqualifizierten Namen für die Klasse
type="STC.EI.JobSubmissionSystem.Data.Domain, STC.EI.JobSubmissionSystem.Data"
ohne Erfolg. Meine Frage ist:
Sind wir dies richtig zuordnen, und wenn nicht dann wie wir es richtig zuordnen?
Das ist richtig. Ich wollte nur hinzufügen, dass der Grund, warum es nicht kompiliert ist, dass Sie keine Domänenklassen in einem Attribut 'Typ' angeben können; Sie müssen eines der Elemente verwenden, die das 'class'-Attribut unterstützen (wie viele-zu-eins). –
@darin - Ahh, danke für die Info, diese Lösung hat funktioniert! @Stuart - hilfreicher Tipp, danke! Wir haben viele Fehler bekommen, dass es den Typ mit dem ursprünglichen Mapping nicht gefunden hat –