0

私はこのようなデータベーステーブルを持っています:

3つのデータベーステーブルの図:Person、Membership、およびTeam

人は多くのチームのメンバーである可能性があります。チームには多くのメンバーがいる場合があります。各人は、チーム内で役職(役職を考えてください)を持っている場合があります。

ADO.NET Entity Frameworkを使用してこれを設定しようとしましたが、エラーが発生します。

エラー3021:行から始まるフラグメントのマッピングに問題があります...テーブルMembershipの次の各列は、複数の概念的なサイドプロパティにマップされます:Membership.PersonIdは<MembershipPerson.Membership.PersonId、MembershipPerson.Person.Id>にマップされます

エラー3021:行から始まるフラグメントのマッピングの問題...テーブルMembershipの次の各列は、複数の概念的なサイドプロパティにマップされます:Membership.TeamIDは<MembershipTeam.Membership.TeamId、MembershipTeam.Team.Id>にマップされます

メンバーシップエンティティの主キーは、2つの外部キーの複合キーです。それが問題だと思います。

私は別の方法で何をしなければなりませんか?

4

1 に答える 1

1

これは、主キーと外部キーの両方の一部であるプロパティで独立した関連付けを使用する場合に発生します。EFv4では外部キーの関連付けが導入され(違いはここで説明されています)、エンティティで外部キーを公開したら、外部キーの関連付けを定義する必要があります。参照制約を定義した後、[マッピングの詳細]ウィンドウで独立した関連付けのマッピングを削除します。

于 2011-05-02T21:28:59.743 に答える