2017-09-12 20 views
0

私はEF 6を使用してプロジェクトを作成しています。複雑な型にマッピングされた同じ3つのプロパティを以前は持っていたいくつかのテーブルがあります(コード全体でいくつかの場所で使用されています)。これらのプロパティは、親子関係は決してデータベースに定義されていませんが、「外部キー」列として指定されました。Entity Framework 6は、既存の複合型をキー列に追加します

最近、同僚がSQL ServerのFKとその親テーブル間の関係を調査し、正式に定義しました。私は現在、エンティティモデル(データベースからの更新)を更新しようとしています。新しい関連付けは表示されませんでした。私はモデルからテーブルを取り除き、それらを再追加することに頼っていました。彼らは今、適切な関係を示しています。

ただし、Complex Typeへのマッピングはなくなりました。私がそれを元に戻そうとすると、更新されたマッピングはそれらのプロパティのアソシエーションを破棄します(保存時にモデルエラーが発生します)。私は複合型が関連をサポートしていないことを認識しています。

複合型に再マッピングする前に、最初に列の関連付けを削除することをお勧めしますか?エンティティで列が表示されない場合でも、EFは基になるキーの関係を観察しますか?

答えて

0

私はまだ私の質問にいくつかのフィードバックを得たいと思いますが、ここで問題を解決するために何をしましたか?

1)データベースからテーブルを削除して再追加するときに、EFによって生成された関連付けが削除されました。これらの関係は、複合型に置き換えられる外部キーフィールドの場合にのみ適用されることに注意してください。

2)(MSのステップに従った複合型

3)オプションに必要なキーのプロパティをリファクタリングする)hereが見つかりました:私はいくつかの余韻を除去するために、XMLとして直接EDMXを編集することが必要でしたデザイナーと修理できなかった団体

これまでのところ私のモデルは意図した通りに機能します。私はFK関係がCRUD操作の間に観察されると信じています。

関連する問題