2010-12-14 9 views
0

Ich versuche, eine viele zu viele Beziehung mit Fluent NHibernate zu bilden.Fluent Nhibernate viele-zu-viele, wo Tabelle mehrere Spalten hat

Ich habe eine Tabelle Benutzer und eine zweite Tabelle Organisation. Die Zuordnungstabelle ist UserOrganization, die die UserId und OrganizationId enthält. Die UserOrganization-Tabelle enthält auch einige andere Felder (YearBegan, YearEnd).

Wie würde ich voran gehen und diejenigen, die fließende Zuordnung verwenden, zuordnen.

Dank

Antwort

0

Sie sollten wahrscheinlich eine eigene Einheit, die die Felder enthält machen UserOrganization. Dadurch erhalten Sie auch mehr Flexibilität bei kaskadierenden Updates und Löschvorgängen.

public class UserOrganization { 
    public virtual User User { get; set; } 
    public virtual Organization Organization { get; set; } 
    public virtual DateTime YearBegan { get; set; } 
    public virtual DateTime YearEnd { get; set; } 
} 
+0

Nick, wie würdest du einen neuen Benutzer zu einer bestehenden Organisation hinzufügen. Würden Sie ein UserOrganization-Objekt generieren und ihm den neuen Benutzer und die vorhandene Organisation zuweisen und dann ein UserOrganizationRepository verwenden, um alles zu übernehmen? – Thomas

+0

Ja, genau. Sie können Ihr Benutzerdomänenmodell auch mit einer AddOrganization-Methode (Organisation org, DateTime yearBegan, DateTime yearEnd), die das UserOrganization-Objekt erstellt, die Eigenschaften festlegt und der User.Organizations-Auflistung hinzufügt, etwas verfeinern. Macht es einfacher, das Domänenmodell zu konsumieren. –

+0

Danke Nick, ich habe eine Folgefrage gestellt. Wenn Sie eine Sekunde haben, würde ich Ihre Eingabe lieben: http://stackoverflow.com/questions/4452722/fluent-nhibernate-many-to-many-issue – Thomas