【发布时间】:2013-11-24 00:22:27
【问题描述】:
我有一个关于实体框架模型关系的设计问题
我在 edmx 中有这个模型
业务规则:
一个Participant 可以有多个Roles,所以我创建了一个关系表ParticipantRoles,它在Participant 和Role 表上具有一对多关系
问题:
为了获得参与者的角色值,我必须深入了解Participant->ParticipantRole->Role(请参阅下面的 JSON 输出)
问题:
在EF中,如何设计表关系绕过ParticipantsRole表。我想以Particant.Role 而不是Participant.ParticipantsRole.Role 之类的方式访问角色
【问题讨论】:
-
据我了解,如果您从 PareticipantsRole 表中删除 Id,则关系将自动按照您希望的方式映射。当关系表具有其他列而不是它所连接的表的键时,不会发生自动映射。
-
如果我删除 ParticipantsRole.Id,我得到的表 [dbo].[ParticipantsRoles] 没有聚集索引。在此版本的 SQL Server 中插入数据需要聚集索引
-
EF 是否支持聚集索引?
-
顺便说一句,我正在使用 SQL Azure
-
尝试删除 id 并在剩余字段上创建复合主键。
标签: sql json entity-framework database-design relational-database