Работал как шарм. Пока занимаюсь экспериментами. Я добавил другое свойство на класс Реферал. Но я никогда не менял ApplicationUser. Мне нужно было добавить другое свойство там же.

чаю ASP.Net MVC 5, и я застрял с одной базовой конструкции БД. Итак, у меня есть один пользователь, который может отсылать много людей на работу. Кроме того, многие могут подать заявку, чтобы получить рекомендацию. Я создал две роли и обо всем позаботился. Теперь у меня на занятииНаправления который будет отслеживать каждый экземпляр реферала, который должен быть сделан.

Модель реферала:

Public class Referral
{
     [Key]
        public int ReferralId { get; set; }
        public Company Company { get; set; }
        public int CompanyId { get; set; }
        public ApplicationUser User { get; set; }
        public string CandidateId { get; set; } // Application User ID of person asking for referral
        public string ReferrerId { get; set; } // Application user ID of person referring the candidate
}

ApplicationUser Model

  public class ApplicationUser : IdentityUser
    {
        public ICollection<Referral> Referrals { get; set; }
        // rest prop removed for brevity sake
    }

Теперь предположим, что A (реферер) относится к B (кандидату). Строка моей таблицы будет выглядеть ниже.

ReferralId     CompanyId     CandidateId   ReferrerId

1              1             B             A

Все идет нормально. Но я хочу установить отношения ФК на Реферальной таблице. Я новичок в Fluent API, но я попробовал, как показано ниже.

    // one candidate can have many referrals
    dBModelBuilder.Entity<ApplicationUser>()
    .HasMany(u => u.Referrals)
    .WithRequired(u => u.User)
    .HasForeignKey(u => u.CandidateId)
    .WillCascadeOnDelete(false);

    //one referrar can have many referrals
    dBModelBuilder.Entity<ApplicationUser>()
    .HasMany(u => u.Referrals)
    .WithRequired(u => u.User)
    .HasForeignKey(u => u.ReferrerId);

Но EF уважает только одно отношение. Почему оба отношения внешнего ключа не устанавливаются. Если я закомментирую одно, то другое сработает, и наоборот. Но держать их вместе, как показано, никогда не работает.

Ожидаемое поведение: я ожидал двух отношений ФК Если у меня есть это, я могу работать соответственно. Пожалуйста, ведите меня сюда. Я новичок во всем этом.

Ответы на вопрос(0)

Ваш ответ на вопрос