实体框架复合键(具有有效负载的多对多关系) [英] Entity Framework Compound Key (Many-To-Many Relationship with a Payload)

查看:116
本文介绍了实体框架复合键(具有有效负载的多对多关系)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有这样的数据库表:

一个人可能是许多团队的成员.一个团队可能有很多成员.每个人在团队中可能都有一个职位(认为是职务).

A person may be a member of many teams. A team may have many members. Each person may have a position (think job title) within the team.

我尝试使用ADO.NET实体框架进行设置并出现错误:

I've tried to set this up with ADO.NET Entity Framework and get errors:

错误3021:映射问题 从行开始的片段...每个 表中的以下列 成员资格映射到多个 概念上的辅助属性: Membership.PersonId映射到 < MembershipPerson.Membership.PersonId, MembershipPerson.Person.Id>

Error 3021: Problem in mapping fragments starting at line ... Each of the following columns in table Membership is mapped to multiple conceptual side properties: Membership.PersonId is mapped to <MembershipPerson.Membership.PersonId, MembershipPerson.Person.Id>

错误3021:映射问题 从行开始的片段...每个 表中的以下列 成员资格映射到多个 概念上的辅助属性: Membership.TeamID映射到 < MembershipTeam.Membership.TeamId, MembershipTeam.Team.Id>

error 3021: Problem in mapping fragments starting at line ... Each of the following columns in table Membership is mapped to multiple conceptual side properties: Membership.TeamID is mapped to <MembershipTeam.Membership.TeamId, MembershipTeam.Team.Id>

我的 Membership 实体的主键是两个外键的复合键.我认为这就是问题所在.

The primary key of my Membership entity is a compound key of two foreign keys. I think that's the problem.

我必须做些什么?

推荐答案

如果您在既是主键又是外键的属性上使用独立的关联,则会发生这种情况. EFv4引入了外键关联(此处描述了差异),然后在实体

This happens if you use independent association on the property which is both part of primary key and foreign key. EFv4 introduced Foreign key associations (the difference is described here) and once you expose foreign key in the entity you must define foreign key association. After defining referential constraints delete mapping of independent association in Mapping details window.

这篇关于实体框架复合键(具有有效负载的多对多关系)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆