实体框架一对一映射问题

entity-framework

使用VS 2010 beta 2,ASP.NET MVC。

我试图创建一个Entity框架文件,并从我的数据库中获取数据。

这些关系存在一些问题,所以我开始调整周围的事情,但是我为了简单的一对一关系而不断收到以下错误

错误1错误113:多重性在关系'FK_UserProfiles_Users'中的角色'UserProfile'中无效。由于Dependent Role属性不是关键属性,因此Dependent Role的多重性的上限必须为*。 myEntities.edmx 2024

我的Users表包含与其他表的一些其他多对多关系,但是当我尝试与其他表建立一对一的关系时,会弹出该错误。

用户表

  • 用户身份
  • 用户名
  • 电子邮件

等等..

UserProfiles表

  • UserProfileID
  • UserID(用户表的FK)
  • 地点
  • 生日

一般承认的答案

对于一对一关系,EF期望表使用相同的主键。而且,如果这是真正的一对一,他们可能应该这样做 。因此,在您的示例中,如果您将UserID设置为UserProfiles表上的主键,那么您的一对一将起作用。


热门答案

我有一个类似的问题,但有一个销售和layby场景。

没有销售就可以存在闲置,并且可以在没有闲置的情况下进行销售。这意味着我有0或10或1的关系。

Layby引用销售,但是layby不能使用Sale的主键,而Sale不能使用Layby的主键。

我通过使用0或1多的关系来解决问题,将销售中的'Laybys'getter和setter配置为私有,然后在我的POCO中提供我自己的'Layby'getter和setter。



许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因
许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因