实体框架一对一映射问题

Oma*_*mar 46 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)
  • 地点
  • 生日

Jac*_*itt 66

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

  • 我在尝试在主表和扩展表之间建立0..1到1关系时遇到了这个问题.作为很多其他关系的延伸表所以我不想搞乱那一个的PK.任何想法如何解决这种情况? (12认同)

kra*_*aeg 10

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

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

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

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

  • 我很好奇,你有没有找到更好的方式来捕捉这种关系? (3认同)