2 つの具象エンティティ タイプと抽象ベース タイプを同じデータベース テーブルにマップしようとしています。
テーブルには、NULL を受け入れないビット列が含まれています。列にはデフォルト値 ((0)) があります。
2 つの具体的なエンティティ タイプ (つまり、具体的なタイプ 1) のうちの 1 つだけが、列の値を使用する必要があります (もう 1 つの (つまり、具体的なタイプ 2) の場合は、常に false です)。
その列にマップされたプロパティを、それを必要とするエンティティ タイプにのみ追加しようとしました。
SaveChanges を呼び出すと、UpdateException が発生し、最も内側の例外に次のメッセージが表示され
ます。
EDMX の SSDL セクションを既に編集して変更しました。
<Property Name="MY_BIT_COLUMN" Type="bit" Nullable="false" />
に:
<Property Name="MY_BIT_COLUMN" Type="bit" Nullable="false" DefaultValue="false" />
(この変更がなければマッピングに失敗しました - 実行されません)
この列にマップされたプロパティを 2 番目の具体的なエンティティ型に追加したり、基本型に移動したりせずに、これを回避する方法はありますか?
具体的なタイプ 2 に保護されたプロパティを追加することはできますが、より洗練された回避策をお勧めします。