2010-12-14 15 views
0

Fluent NHibernateを使用して多対多の関係をマップしようとしています。Fluent Nhibernateテーブルが複数の列を持つ多対多

私はテーブルUserと2番目のテーブルOrganizationを持っています。関連テーブルは、UserIdとOrganizationIdを含むUserOrganizationです。 UserOrganizationテーブルには、他にもいくつかのフィールド(YearBegan、YearEnd)があります。

どのように私は先進的なマッピングを使用してそれらをマップしますか。

ありがとうございます。

答えて

0

おそらくUserOrganizationを、それらのフィールドを含む独自のエンティティにする必要があります。これによりカスケード更新や削除の柔軟性も向上します。

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、既存の組織に新しいユーザーを追加する方法を教えてください。 UserOrganizationオブジェクトを生成し、新しいUserと既存の組織を割り当て、UserOrganizationRepositoryを使用してすべてをコミットしますか? – Thomas

+0

うん、まさに。 UserOrganizationオブジェクトを作成し、プロパティを設定してUser.Organizationsコレクションに追加するAddOrganization(Organization org、DateTime yearBegan、DateTime yearEnd)メソッドを使用して、ユーザードメインモデルを少しドレスアップできます。ドメインモデルをどのように消費するかについてもっと簡単に説明します。 –

+0

ありがとう、ニック、私はフォローアップの質問を投稿しました。 2番目の場合は、私はあなたの入力が大好きです:http://stackoverflow.com/questions/4452722/fluent-nhibernate-many-to-many-issue – Thomas

関連する問題