0

多くのエンティティを持つDBがあり、Case、Task、Noteの3つのエンティティの例を取り上げています。どのエンティティにもメモを付けることができ、次のDB設計を採用することにしました。

Case:
  - CaseId
  - Title

Task:
  - TaskId
  - Title

Note:
  - NoteId
  - Desc
  - ParentId (will contain the PK of Case/Task etc but without FK constraint)

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

Case
{
  CaseId
  Title
  Notes
}

Task
{
  TaskId
  Title
  Notes
}

これらのメモは削除されないため、参照制約などは必要ありません。これを使用してモデル化できEDMX、CodeFirstアプローチを使用したいと考えています。SOを検索し、ポリモーフィックな関連付けなどの提案を調べました。この設計が与えられた場合、最初にコードを使用してモデル化するための最良の方法は何ですか?前もって感謝します。

4

1 に答える 1

0

継承を使用することをお勧めします-説明から次のとおりです。

public class EntityWithNotes
{
  public int Id { get; set; }
  public string Title { get; set; }
  public Collection<Note> { get; set; }
}

public class Note
{
  public int Id { get; set; }
  public string Description { get; set; }
  public int ParentId { get; set; }
}

public class Case : EntityWithNotes { /* ...*/ }
public class Task : EntityWithNotes { /* ...*/ }

...そして、外部キー関連付けを使用します。参照制約は、削除だけに関するものではありません。

于 2013-01-15T13:01:41.767 に答える