0

こんにちはみんな私は次の状況をモデル化する必要があります。私は2つの可能な選択肢を思いついたが、もっと良い解決策があるかどうか知りたい。

これが取引です...

簡略化されたスキーマ

User              Group
-----------       ------------
UserId (PK)       GroupId (PK)
Name              Name
...               ...

       \           /
          UserGroup
         -------------
          UserId (FK)
          GroupId (FK)

これは簡単です。ユーザー用のテーブル、グループ用のテーブル、そしてユーザーをグループに関連付けるためのテーブル(多対多)

次に、ユーザーとグループの両方が所有できる他のエンティティ(つまり、記事)があります(1人のユーザーが所有できる、1つのグループが所有できる、またはユーザーとグループが所有できるなど)。

これが取引です。私はそれをできた:

A

Article                ArticleOwnership
--------------         ----------------
ArticleId (PK)  <----- ArticleId (FK)
Title                  UserId (FK-NULLABLE)
...                    GroupId (FK-NULLABLE)

ここで重要なのは、特定のユーザーが特定の記事を所有しているかどうかを確認したい場合、両方を確認する必要があるようです。これはT-SQLを使用すると簡単ですが、Entity Frameworkを使用したいと思います(これまでORMを使用したことがないので、xDを使用してください)。

この状況をどのようにモデル化しますか?

別のアプローチは次のとおりです。

B

すべてのユーザーのグループを作成し、そのユーザーの内部のみを含み、グループによってのみ所有権を管理します。これはあなたにとってどのように聞こえますか?

すべての人に感謝し、私の説明があまり明確でない場合は申し訳ありませんが、私の英語は完璧ではありません。

4

1 に答える 1

0

私はオプションAをやることになりました...

于 2011-01-10T15:25:47.180 に答える