多重性在关系"xxx"中的角色"xxx"中无效...从属角色的多重性的上限必须为"1"



我有以下型号:

public class Annonce
{
[Key]
public int annonceID { get; set; }

[DisplayName("User")]
public int userID { get; set; }
public virtual User users { get; set; }

[DisplayName("Sous type")]
public int sous_type_annonceID { get; set; }
public virtual Sous_type_annonce sous_type_annonces { get; set; }

[DisplayName("Gouvernorat")]
public int gouvernoratID { get; set; }
public virtual Gouvernorat gouvernorats { get; set; }
}

我试图在同一个实体中定义3一对多关系

这是我的DbContext:

modelBuilder.Entity<Annonce>().HasRequired(p => p.gouvernorats)
.WithMany(b => b.Annonces).HasForeignKey(b => b.annonceID);
modelBuilder.Entity<Annonce>().HasRequired(p => p.sous_type_annonces)
.WithMany(b => b.Annonces).HasForeignKey(b => b.sous_type_annonceID);
modelBuilder.Entity<Annonce>().HasRequired(p => p.users)
.WithMany(b => b.Annonces).HasForeignKey(b => b.sous_type_annonceID);

Gouvernorat、User和Sous_type_anonce具有以下ICollection:

public virtual ICollection<Annonce> Annonces { get; set; }

我收到验证错误

在模型生成过程中检测到一个或多个验证错误:

Annance_gouvernorats_Source::多重性在Role中无效关系"Annance_gouvernorats"中的"Annance_Gouvernorts_Source"。因为Dependent Role指的是键属性Dependent Role的多重性的绑定必须为"1"。

哪里出了问题,我该如何解决?

我修复了问题

modelBuilder.Entity<Annonce>().HasRequired(p => p.gouvernorats)
.WithMany(b => b.Annonces).HasForeignKey(b => b.gouvernoratID);

带有"gouvernoratID"而不是"annonceID">

modelBuilder.Entity<Annonce>().HasRequired(p => p.gouvernorats)
.WithMany(b => b.Annonces).HasForeignKey(b => b.annonceID);

相关内容

最新更新