多重性在关系'xxx'中的角色'xxx'中无效...依赖角色的多重性的上限必须为'1'

时间:2016-06-04 17:52:29

标签: c# asp.net asp.net-mvc

我有以下型号:

    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”。

有什么问题,我该如何解决这个问题?

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);