我有以下型号:
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个1对多的关系
这是我的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_annonce有这个ICollection:
public virtual ICollection<Annonce> Annonces { get; set; }
我收到了验证错误
在模型生成期间检测到一个或多个验证错误:
Annonce_gouvernorats_Source ::多重性在角色中无效 'Annonce_gouvernorats_Source'与'Annonce_gouvernorats'的关系。 因为从属角色是指关键属性,所以是上层 依赖角色的多样性的界限必须为“1”。
有什么问题,我该如何解决这个问题?
答案 0 :(得分:0)
我解决了问题
modelBuilder.Entity<Annonce>().HasRequired(p => p.gouvernorats)
.WithMany(b => b.Annonces).HasForeignKey(b => b.gouvernoratID);
与&#34; gouvernoratID&#34;而不是&#34; annonceID&#34;
modelBuilder.Entity<Annonce>().HasRequired(p => p.gouvernorats)
.WithMany(b => b.Annonces).HasForeignKey(b => b.annonceID);