0

私のモデルには、User テーブル、Role テーブル、Organization テーブルがあります。ユーザーは、より多くの組織でより多くのロールを個別に持つことができます。これまでのところ、リンク テーブルには 2 つの外部キー (左、右) があることをチュートリアルで見てきましたが、私の場合は、外部キーとプライマリとして User-ID、Role-ID、Organization-ID フィールドがあるリンク テーブルが必要です。キーも。

いくつかの例:

user   role       organization
===    ====       ============
u1     admin      orga1
u1     admin      orga12
u1     reviewer   orga3
u2     editor     orga1

前もって感謝します!

4

1 に答える 1

0

あなたが実際に必要としているのは、ユーザー テーブルや OrgRole テーブルのようなものだと思います。次に、それらを結合する結合テーブル User_OrgRole が必要です。Org と Role が一緒に一意であることを確認するために、テーブルに制約を設定することができます。

OrgRole は次のようになります。

  • 組織ロール ID [キー]
  • 組織 [FKey]
  • ロール [FKey]

User_OrgRole は次のようになります。

  • ユーザーID [キー]
  • OrgRoleID [キー]

手動で 3 方向結合を行うことはできますが、多対多スタイルのナビゲーション プロパティや関係を作成することはできません。代わりに、3 つの 1 対多に相当するものを作成しています。

于 2013-08-24T23:52:28.813 に答える