今天在给EF模型中设置一对一关系报错:
EntityFramework 模型生成过程中检测到一个或多个验证错误: 多重性与关系“tableA”中 Role“tableB”中的引用约束冲突。因为 Dependent Role 中的所有属性都不可以为 null,Principal Role 的多重性必须为“1”。
如果表中的外键id设置为可选(HasOptional)的,必须设置可为null的类型,即int?或Null<int>,如下:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Inf_News>().HasOptional(m => m.Matches).WithMany().HasForeignKey(n => n.match_id);
modelBuilder.Entity<Matches>().HasOptional(m => m.Inf_News).WithMany().HasForeignKey(n => n.news_id);
base.OnModelCreating(modelBuilder);
}
对应Model分别为
public partial class Inf_News
{
public int? match_id { get; set; }
}
public partial class Matches
{
public int? news_id { get; set; }
}
以上就是【EF模型生成过程中检测到一个或多个验证错误: 多重性与关系“tableA”中 Role“tableB”中的引用约束冲突】的全部内容了,欢迎留言评论进行交流!