1

サンプルのブログプロジェクトを作成し、このエンティティデータモデルを設計しています。

他に必要なものはありますか、つまり、関連付けとナビゲーションプロパティで...

エンティティデータモデルの設計

私はこのデザインを次のように作成しました。

  1. ユーザーは多くの投稿を持つことができます(1から多数)
  2. ユーザーは多くのコメントを持つことができます(1から多数)
  3. ユーザーは多くのタグを持つことができます(1から多数)
  4. 投稿には多くのコメントを含めることができます(1から多数)
  5. 投稿には多くのタグを含めることができます(1から多数)

投稿とユーザーの間に1対1の関連付けを作成する必要がありますか?

  1. 1つの投稿には、1人のユーザー(1対1)が必要です。
  2. タグには1人のユーザー(1対1)が必要です。

私はすでにこれらすべての間に1対多の関係を作成していて、必要なナビゲーションプロパティを持っていることに混乱しています。上記の1対1の関連付けを作成する必要がありますか?

4

1 に答える 1

2

いくつかの提案:

  1. 継承は不要に見えます。モデルが複数のタイプのユーザーと投稿で成長し、いくつかのさまざまなフィールドがあまり共通ではないことが予想される場合は、そのようなフィールドを継承できると思います。モデル SuperUser NormalUser AdminUser と同様に User から継承し、ここでは当てはまらない珍しいフィールドがたくさんあります。

  2. ブログ エンティティは除外されますか? 通常、ブログエンティティがあります。権限を持つユーザーがブログを作成し、そのブログの下で他のユーザーまたは (要件に応じて自分自身) だけがさまざまな投稿を書くことができます。ブログには多くの投稿を含めることができます。とはいえ、ブログ エンティティは必須ではなく、なくてもかまいませんが、将来の変更にはコストがかかる可能性があります。

  3. タグと投稿は多対多の関係です。投稿には多くのタグを付けることができますが、タグは多くの投稿に関連付けられています。特定のタグが付いた投稿を知りたい場合は、* to * が必要です。

于 2012-06-07T13:55:09.570 に答える