この EF のちょっとした癖のせいで、私は苛立たしい状況に陥っています。これは、動作の簡単なデモです。最初に DB スキーマ:
ご覧のとおり、これは product の特殊なケースであり、特別なコードを使用しRestrictedProduct
てサブクラスを作成するつもりです。Product
次に、EF データ モデルにインポートします。
おっとっと!EF は、には 2 つのフィールド (両方とも FK) しかないことを確認したため、とRestrictedProduct
の間の 1 対多の関係としてマップしました。データベースに戻って にフィールドを追加すると、EF モデルの見栄えが大幅に向上します。Product
Restriction
Dummy
RestrictedProduct
しかし、そのDummy
分野はばかげていて無意味です。たぶん私はそれを削除できますか?DB テーブルとエンティティ モデルからフィールドを吹き飛ばし、DB からモデルを更新します...
大野!Product-Restriction
協会は新しい名前 ( ) で戻ってきましたRestrictedProduct1
! さらに、コンパイルされません:
エラー 3034: 行 (x, y) で始まるフラグメントのマッピングに問題があります: キーが異なる可能性のある 2 つのエンティティが同じ行にマッピングされています。これら 2 つのマッピング フラグメントが、AssociationSet の両端を対応する列にマップしていることを確認します。
Dummy
フィールドをRestrictedProduct
テーブルに保持する以外に、この動作を防ぐ方法はありますか?