实体框架模型第一 - 1到1..0关系 - 为什么它不喜欢不是主要的外键?

时间:2013-04-12 12:15:53

标签: c# entity-framework

我正在尝试模拟以下内容:

图片有很多种类型,所以我在图片和类型之间创建了一个关系表。

我想知道图片有多少种类型,所以我需要一个识别关系的主键。

类型1到1..0关系*到1张图片

我希望关系具有图片的id和类型的id作为外键,并且还可以识别该关系。

它说:“多重性在角色中无效”......“因为从属角色属性不是关键属性,所以从属角色的多重性的上限必须是*”

我在VS2012中使用EF 5

有没有办法对此进行硬编码?我的模型中有很多1到1..0的关系......

1 个答案:

答案 0 :(得分:0)

我必须说我不明白你想说的一切,

...但我猜你想要一个many-to-many relation in between Types and Pictures,并在“关系”中添加自定义信息。

查看我在此处发布的帖子,将Person替换为Picture,将SecurityGroup替换为Type。你的'关系'实体是PersonSecurityGroupDefinition

EF code-first many-to-many with additional data

您的'关系表'上不需要pk。这是通过使用两者的复合键完成的(你总能找到它)。

然后为每个“关系”添加额外的内容 - 就像我放入public int Privilege { get; set; }一样。