如何将 EF 代码第一多重性从 1 更改为零/1
本文关键字:多重性 EF 代码 | 更新日期: 2023-09-27 17:56:54
想象一下我有两个实体:
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; }
}
希望这有帮助。