0

複数の継承と同様の利点を得るために、構成(多数の1対1)を使用する複雑なデータモデル(最初はEF 4.1コード用)があります。しかし、私は、うまくいけばマッピングすることで解決するのに問題があります。EFコード複合型の最初の合成、テーブルマッピング

  1. 私は 成功した多重継承をシミュレートするためのテーブル(ないエンティティ)の数を減らす必要があります。

  2. 私は管理者のバックエンドとして動的データを使用し、DDは複合型でない 作業を行いますので、私は複雑なタイプ との1対1の構図クラスを置き換えることはできません。

  3. のシミュレートされた複数の継承のために、階層あたりの表が役立たないようです。

  4. テーブル単位では、テーブルが多すぎます。

「エンティティ分割」と呼ばれるものがあると思います。そして、私は基本的にそれの反対が必要だと思いますか?私は、私が望むものが可能なのか疑問に思います...基本的にモデルコンポーネントを複数回マッピングすることによって、複雑なタイプをシミュレートします。私はちょうどコンポジションアプローチを廃止すべきですか?私はいつも属性などでプロパティをグループ化できます。

答えて

2

エンティティ分割の反対はテーブル分割と呼ばれ、is really possibleですが、最初にEFコードでのみ起こっていますone big problemがあります。

+0

クイック返信ありがとうございます!複数のクラスで1つのクラスを使用しようとしている場合(複数継承をシミュレートするために)、そのコンポーネントクラスを複数回マッピングするにはどうすればよいですか?たとえば、 'SchedulingInfo'型が' Sale'型で1対1、AND型 'DonutBreak'であるが、3つの型は3つの異なる表でなければなりません。 'SchedulingInfo'を分割せずに3つのテーブルすべてに1回以上マップできますか?そうでなければモデルを平坦化するかもしれませんか? – Benjamin

+0

1つのクラスは1回しかマッピングできません。唯一の例外は、継承と分割のシナリオです。 –

+0

ですから、DyanmicDataで複雑な型を使用できない場合、最適な解決策はtable-per-typeであり、それを必要とする各クラスの各プロパティを繰り返します。または単一の継承? – Benjamin

関連する問題