私はちょうどTable per Type
/TPTと弁別者欄のかなりの記事を読んだことがありますが、私は自分の状況では賢明ではありません。Entity Frameworkで、ビューモデルのディスクリミネータ列が作成されるのはなぜですか?
例を挙げる:Foo
というモデルを持つMVCアプリケーションがあります。これにはBar
という1つのプロパティがあり、それは他の場所に1対多として格納されています。
私はこのアプリを使用している唯一の人です。私はそれに多くの時間を費やしたくなかったので、Bar
のリストに項目を追加するための最も簡単な方法が必要でした。このため、という新しいクラスを作成しました。これはFoo
から派生し、BarTemp
という文字列プロパティを持ちました。
基本的な考え方は、標準のテキストフィールドに111, 222 , 333,444
を入力し、編集/作成コントローラに空白を取り除き、コンマのリストに分割できるということです。
私が理解できないことは、ビューモデルは決してEFに書き込まれないため、なぜディスクリミネータ列を作成するのかということです。
マイグレーションを踏み台にしようとしたときのように、それはBarTemp
をDBに追加しようとしました。
私は同じタイプの新しいタイプを作成しましたが、派生するのではなく、Foo
とBarTemp
というプロパティが期待通りに機能していますが、まだ何が起こっておらず、もっと。
私はまだ概念が変わっていると思います...私はクラスを持っています、私はそのクラスのdbsetを別に定義します...そして、私は元のクラスからエンティティフレームワークオブジェクトではありません。私はビューモデルを直接保存することは決して考えていませんでしたが、ちょっと変わったようですが、少なくとも今はもう少し理解しています。ありがとう! – Wil