この EF のちょっとした癖のせいで、私は苛立たしい状況に陥っています。これは、動作の簡単なデモです。最初に DB スキーマ:

ご覧のとおり、これは product の特殊なケースであり、特別なコードを使用しRestrictedProductてサブクラスを作成するつもりです。Product
次に、EF データ モデルにインポートします。

おっとっと!EF は、には 2 つのフィールド (両方とも FK) しかないことを確認したため、とRestrictedProductの間の 1 対多の関係としてマップしました。データベースに戻って にフィールドを追加すると、EF モデルの見栄えが大幅に向上します。ProductRestrictionDummyRestrictedProduct

しかし、そのDummy分野はばかげていて無意味です。たぶん私はそれを削除できますか?DB テーブルとエンティティ モデルからフィールドを吹き飛ばし、DB からモデルを更新します...

大野!Product-Restriction協会は新しい名前 ( ) で戻ってきましたRestrictedProduct1! さらに、コンパイルされません:
エラー 3034: 行 (x, y) で始まるフラグメントのマッピングに問題があります: キーが異なる可能性のある 2 つのエンティティが同じ行にマッピングされています。これら 2 つのマッピング フラグメントが、AssociationSet の両端を対応する列にマップしていることを確認します。
DummyフィールドをRestrictedProductテーブルに保持する以外に、この動作を防ぐ方法はありますか?