エンティティモデルを追加するとエラー3007が発生する

entity-framework entity-relationship

質問

エンティティモデルをソリューションに追加すると、エラー3007が発生します。

私はこれらのリンクを見つけました:

良い説明

短い答え

このエラーについて:

エラー1エラー3007:89行目、94行目から始まるフラグメントのマッピングにおける問題:主キーでない列[Person_ID]が両方のフラグメントで異なる概念的な側面のプロパティにマッピングされています独立して変更することができます。

彼らの答え:私は単にScalar Property Person_IDを削除してNavigation Propertyを残すことで問題が解決されるという彼らの結論に同意する。ただし、データベースを動的に構築しているため、エンティティが頻繁に更新されるため、これはあまりスケーラブルではありません。更新するたびにエンティティを調べてクリーンアップする必要はありません。

私の質問: EFがエンティティを構築する方法を修正することによってエラーを修正する方法はありますか?それとも、コードを通してScalar Propertyを削除する方法はありますか?私が見落としているのは、おそらくいくつかの選択肢さえあるでしょう。

受け入れられた回答

私のEF v1の経験はあなたの経験と似ています。 EDMが正しく生成されず、問題を回避できない場合は、手動でEDMを編集する必要があります。 EF v.Next(Entity Framework v4と私は思う)は「コードのみ」のEntity Data Modelsをサポートするので、EDMデザイナーの方がはるかに優れているはずです。どちらかの改善は私たちの生活を楽にするはずです。それまで...


人気のある回答

エンティティモデル設計を使用してエンティティセットから外部プロパティ列を削除し、問題を解決してください。

例えば

我々は2つのテーブル1は、我々は、私はテーブルの下の両方にナビゲーションプロパティを追加します。このAdo.netエンティティフレームワークを行う際に、我々は顧客と注文との関連付けを追加エンティティモデルのデザインを使用して、 顧客や他の一つは順序である必要があります。

Customer.Ordersのように - ここでの注文はリストOrder.Customerです。

1対多関係

したがって、 OrderエンティティセットからCustomerId [外部キー列]という名前のプロパティを削除する必要があります。

参考のため:

http://social.msdn.microsoft.com/forums/en-US/adodotnetentityframework/thread/2823634f-9dd1-4547-93b5-17bb8a882ac2/



Related

ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ