1

エンティティ モデル内で階層ごとの継承を使用しており、外部キーを介して他のテーブルへの関係を含む親テーブルがあります。

私の親テーブル (製品) には、EF でナビゲーション プロパティに解決される別のテーブルへの FK リレーションシップがあります。そのナビゲーション プロパティを子テーブル (Fragrance) に簡単に移動して、親テーブルから削除できます。ただし、外部キー プロパティ (FragranceId) も子に移動したいのですが、FK 関係では親テーブルにそのプロパティが必要なため、これを行う方法がわかりません。

下の図は、私がどこまで到達したかを示しています。基本的に、私がやろうとしているのは FragranceId を Perfume エンティティに移動することです。

ダイアグラム

これは可能であるように思われますが、Perfume はテーブルではないため、データベースの関係を引き継ぐことはできず、その関係が Fragrance と Property の間に存在する間は、Product から FragranceId を削除できません。

FragranceId を移動すると、EF エラー「Role Product によって参照される型で定義された FragranceId という名前のプロパティがありません」が発生します。

フレグランスと香水は1対1の関係。

どんな助けでも素晴らしいでしょう。ありがとう。

4

1 に答える 1

0

つまり、答えは非常に単純で、エンティティ モデルからデータベースの外部キー リレーションシップを削除するだけで済み、FragranceId を香水エンティティに移動することができました。

次に、edmx ファイルの XML から FK へのすべての参照を手動で削除してエラー 3015 を解決し、最後に FragranceId を再マップしてエラー 3004 を修正する必要がありました。

于 2013-10-09T11:18:24.183 に答える