Кратность не действительна в роли ». верхняя граница кратности зависимой роли должна быть '1' - PullRequest
0 голосов
/ 08 мая 2019

Это модель один ко многим (заявитель).(AttachedDocument) - это много моделей, я думаю, что у меня неправильные отношения

public partial class Applicant
{
    [Key]
    public int ApplicantID { get; set; }

    public string ApplicationSource { get; set; }

    public string Gender { get; set; }

    [ForeignKey("ApplicantID")]
    public virtual ICollection<AttachedDocuments> AttachedDocuments { get; set; }

}


public partial class AttachedDocuments
{
    [Key]
    public int AttachedDocID { get; set; }
    public int ApplicantID { get; set; }
    public string AttechedDocGUID { get; set; }
    public int DocumentTypeID { get; set; }

    [ForeignKey("ApplicantID")]
    public virtual ICollection<Applicant> Applicant { get; set; }
}

А вот строитель:

   protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        base.OnModelCreating(modelBuilder);

        modelBuilder.Entity<Applicant>().HasRequired(a => a.AttachedDocuments).WithMany().HasForeignKey(a => a.ApplicantID);

        modelBuilder.Entity<AttachedDocuments>().HasOptional(b => b.Applicant).WithMany().HasForeignKey(b => b.ApplicantID);
    }

Первый раз делаю модель с отношениями.Заранее спасибо!

1 Ответ

1 голос
/ 08 мая 2019

Вы пытались удалить атрибут внешнего ключа из класса вашего кандидата? Атрибут ForeignKey указывает имя свойства, которое будет внешним ключом. Вы указываете имя свойства Key, которое может вызвать смещение базы данных.

public partial class Applicant
{
    [Key]
    public int ApplicantID { get; set; }

    public string ApplicationSource { get; set; }

    public string Gender { get; set; }

    public virtual ICollection<AttachedDocuments> AttachedDocuments { get; set; }

}


public partial class AttachedDocuments
{
    [Key]
    public int AttachedDocID { get; set; }
    public string AttachedDocGUID { get; set; }
    public int DocumentTypeID { get; set; }

    public int ApplicantID { get; set; }
    [ForeignKey("ApplicantID")]
    public virtual Applicant Applicant { get; set; }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...