0

私のアプリケーションには、「Notes」プロパティを含むいくつかのクラスがあります。各クラスのNoteIdにリンクされているすべてのメモを含む単一のNotesクラスを作成します。私が配置した:

Private ReadOnly _class As New ObservableListSource(Of Class)()

Public Overridable ReadOnly Property Classes As ObservableListSource(Of Class)
    Get
        Return _class
    End Get
End Property

バインドする各クラスの新しいNotesクラスで。それから私は置きました:

Public Property NoteId() As Guid
Public Overridable Property Note() As Note

バインドする各クラスで。複数の関係を作成しようとすると、EFはデータベースを作成しません。これは多対多の問題のようですが、次に何を試すべきかわかりません。どんな助けでもいただければ幸いです。

4

1 に答える 1

0

各エンティティが複数のメモを持つことができると仮定すると、私はあなたが運が悪いと思います。Entity Frameworkやその他の組織は、あなたが説明している方法で関係をマッピングできるとは思いません。あなたが説明することは、多対多の関係ではありません。データベースの関係を線のように考えてください。両端があります。各端は、単一のテーブルで終了します。より具体的には、一方の主キープロパティと、もう一方の外部キープロパティで終了します。あなたが説明しているのは、1つのテーブルと他の多くのテーブルの間に単一の関係があるホイールのスポークのようなものです。ここで、単一の外部キー列を他の多くの主キー列にリンクする必要があります。強制的に機能させることはできますが、ナビゲーションプロパティを介してメモを取り込む優れたエンティティフレームワークの自動マジックは得られません。

オプションは次のとおりです。

メモを持つことができる各タイプのエンティティへの外部キーを持っています。つまり、メモを持つことができるエンティティのタイプごとに、メモクラスにナビゲーションプロパティを追加します。これはお勧めしません。

または

エンティティの種類ごとに個別のメモテーブルを用意します。つまり、ANotes、BNotes、CNotesのようなものがあります。他のモデルよりもクリーンなモデルだと思うので、これをお勧めします。

申し訳ありませんが、それがお役に立てば幸いです

于 2013-01-09T03:07:48.693 に答える