加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

entity-framework – Entity Framework 4.1:在“Login”类型上

发布时间:2020-12-15 08:46:36 所属栏目:Java 来源:网络整理
导读:我有两个实体 BusinessUser { Id(PK),Name,...}Login { BusinessUserID(PK,FK),Email,Password,etc...} BusinessUser和Login之间的关系是一对多/一. 我有以下配置 在BusinessUser EF配置类中 this.HasOptional(bu = bu.LoginInfo) .WithOptionalPrincipal(l
我有两个实体

BusinessUser { Id(PK),Name,...}

Login { BusinessUserID(PK,FK),Email,Password,etc...}

BusinessUser和Login之间的关系是一对多/一.

我有以下配置
在BusinessUser EF配置类中

this.HasOptional(bu => bu.LoginInfo)
    .WithOptionalPrincipal(l => l.BusinessUser);

在登录EF配置类中

this.HasRequired(l => l.BusinessUser)
    .WithOptional(bu => bu.LoginInfo);

我得到以下异常

The navigation property ‘BusinessUser’ declared on type ‘Login’ has been configured
with conflicting multiplicities.

我首先在EF 4.1代码中使用我的一对一/零配置错误.

更新1:以下是我的班级结构

public class BusinessUser {
    public virtual int ID { get; set; }

    public virtual int BusinessID { get; set; }

    public virtual Business Business { get; set; }

    public Login LoginInfo { get; set; }
  }

 public class Login {
    public virtual int BusinessUserID { get; set; }

    public virtual string Email { get; set; }

    public virtual string Password { get; set; }

    public BUsinessUser BusinessUserInfo { get; set; }
  }

我也在寻找双向的.

解决方法

您的BusinessUser必须将关系配置为:

this.HasOptional(bu => bu.LoginInfo)
    .WithRequired(l => l.BusinessUser);

两个配置必须相同(实际上只需要一个)并且第一个配置不正确,因为它试图定义0..1 – 0..1关系.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读