entity framework一对一映射问题

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

我试图创build一个entity framework文件,并从我的数据库中获取数据。

有关系的一些问题,所以我开始调整周围的事情,但我一直得到以下错误的简单的一对一的关系

错误1错误113:在关系“FK_UserProfiles_Users”中,angular色“UserProfile”中的多重性无效。 因为“依赖angular色”属性不是关键属性,所以“依赖angular色”的多重性的上界必须是*。 myEntities.edmx 2024

我的用户表是由其他表与其他表的一些其他多对多关系组成,但是当我尝试与其他表build立一对一的关系时,会popup该错误。

用户表

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

等等..

UserProfiles表

  • UserProfileID
  • 用户ID(用户表的FK)
  • 位置
  • 生日

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

我有类似的问题,但有一个销售和平台的情况。

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

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

我通过使用0或1多的关系解决了这个问题,将“Laybys”的getter和setterconfiguration为私有,然后在我的POCO中提供了我自己的“Layby”getter和setter。