Wie verwende ich Fluent NHibernate, um eine selbstverweisende Ordnerhierarchie zuzuordnen?

8

Ich habe eine Ordnerhierarchie, die durch die folgende Klasse repräsentiert wird:

%Vor%

Mit anderen Worten, jedes Folder kann zu einem ParentFolder gehören, sowie SubFolders darunter. Ich verwende Fluent NHibernates Automapper und erzeuge automatisch das Datenbankschema mit SchemaExport . Ich erhalte die folgende Tabelle, wenn ich versuche, einige Testordner zu speichern:

%Vor%

Soweit so gut, die Spalte ParentFolder_id wird korrekt gesetzt, obwohl ich nicht weiß, warum sie eine weitere Spalte Folder_id erstellt hat. Jetzt, wenn ich versuche, den folgenden Code auszuführen:

%Vor%

Die zurückgegebene Anzahl ist 0 und die folgende SQL wird ausgeführt:

%Vor%

Diese SQL-Anweisung ist falsch. Es sollte tun:

%Vor%

Kann mir jemand sagen, warum Fluent NHibernate die zusätzliche Spalte Folder_id erstellt und danach fragt, und wie ich es beheben kann, damit es die Spalte ParentFolder_id korrekt abfragt? Ich habe die folgende Überschreibung ohne Glück versucht:

%Vor%     
Daniel T. 23.11.2010, 20:11
quelle

1 Antwort

8

Ich denke, Sie müssen die Spalten in Ihren Mapping-Überschreibungen angeben.

%Vor%     
Phill 24.11.2010, 10:44
quelle