使用VS 2010 beta 2,ASP.NET MVC。
我尝试创建一个Entity框架文件并从我的数据库中获取数据。
这些关系存在一些问题,所以我开始调整周围的事情,但是我为了简单的一对一关系而不断出现以下错误
错误1错误113:多重性在关系'FK_UserProfiles_Users'中的角色'UserProfile'中无效。由于Dependent Role属性不是关键属性,因此Dependent Role的多重性的上限必须为*。 myEntities.edmx 2024
My Users表包含与其他表的一些其他多对多关系,但当我尝试与其他表建立一对一的关系时,会弹出该错误。
用户表
等。
UserProfiles表
答案 0 :(得分:66)
对于一对一关系,EF希望表使用相同的主键。实际上,如果它是真正的一对一,他们可能应该。因此,在您的示例中,如果您将UserID设置为UserProfiles表上的主键,那么您的一对一将起作用。
答案 1 :(得分:10)
我有类似的问题,但有销售和闲置的情况。
可以在没有销售的情况下存在闲置,并且可以在没有闲置的情况下进行销售。这意味着我有 0或1 与 0或1 的关系。
Layby引用销售,但是layby不能使用Sale的主键,而Sale不能使用Layby的主键。
我通过使用 0或1 到许多关系解决了这个问题,将销售中的'Laybys'getter和setter配置为私有,然后提供了我自己的我的POCO中有'Layby'吸气剂和二传手。
答案 2 :(得分:0)
为两列UserProfileID和UserID设置复合主键