繁体   English   中英

如何将EF CodeFirst多重性从一变为零/一?

[英]How to change EF CodeFirst multiplicity from one to zero/one?

假设我有两个实体:

 public class User{
    public Guid UserId { get; set; }
}

public class Country{
    public Guid CountryId {get; set;}
    public virtual List<User> Users {get; set;}
}

如果尝试添加不属于任何国家的用户,则SaveChanges命令会出现UpdateException

“ SLContext.User”中的实体参与“ Country_Users”关系。 找到0个相关的'Country_Users_Source'。 1个“ Country_Users_Source”

我相信这个问题与自动生成的一对多关系有关。 如何将多重性设置为0.1 ---> *?

如果使用FluentAPI ,则User实体的配置应为:

   HasOptional(x=> x.Country)
       .WithMany(x=> x.Users);

和您的用户实体:

   public class User{
        public Guid UserId { get; set; }
        public virtual Country Country { get; set; }
   }

希望能有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM