エンティティフレームワーク - 「マッピングフラグメントの問題」 - エラー。このエラーの説明を理解するのを手伝ってください

entity-framework

質問

エラー3007:186、205行目から始まるフラグメントのマッピングにおける問題:非主キー列[WheelID]が両方のフラグメントで異なる概念的なサイドプロパティにマップされています - 対応する概念的なサイドプロパティが異なる可能性があるため独立して修正された。

私はウェブ上でこのエラーを説明するいくつかの場所を見つけました、しかし私は単にそれらを理解していません。 (混乱したスマイリーはここに行きます)

1


ここにはかなり基本的なものがあります。私は行方不明になっているはずです。私が理解できるように、あなたはそれを説明できますか?以下の私の実生活の例を使うかもしれません?

代替テキストhttp://i39.tinypic.com/2hppnoo.jpg

外部キー1:N Wheels.Id - > Slices.WheelId

私はそれらをエンティティフレームワークに追加しました、そしてWheelIdはスライスエンティティには表示されません。

代替テキストhttp://i43.tinypic.com/287hq87.jpg

いくつかの回避策(EFにテーブルを追加する前にデータベースからリレーションシップを削除してから再作成してEFを更新する)を実行して、WheelIdをスライス内に保持することができましたが、冒頭にエラーが表示されます。

受け入れられた回答

Slices.WheelIdはFKなので、クライアントモデルのperiodでは公開できません。ただし、値を取得する方法はあります。

var wheelId = someSlice.Wheels.ID;

更新 EF 4では、独立した関連付けではなくFK関連付けを使用してこれを実行できます。


人気のある回答

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

例えば

我々は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は合法ですか? はい、理由を学ぶ