С помощью Fluent API Entity Framework Core 2 настройте многие-ко-многим - PullRequest
0 голосов
/ 18 октября 2018

У меня есть следующий класс (сокращено для bevity);

public class Profile : AuditableEntity
{
    ...

    public int? ApprovedById { get; set; }
    public ApplicationUser ApprovedBy { get; set; }        
}

Где ApplicationUser не имеет ссылки на класс Profile.

Я попробовал следующее в моемконфигурация;

        entity.HasOne(x => x.ApprovedBy)
            .WithMany()
            .HasForeignKey(x => x.ApprovedById)
            .OnDelete(DeleteBehavior.SetNull);

Поскольку профиль будет утвержден одним ApplicationUser, но назначенный ApplicationUser сможет утверждать несколько профилей.(Мне не нужно прослеживать это с точки зрения ApplicationUser, поэтому нет ссылки на класс ApplicationUser).

Однако, когда я пытаюсь добавить свою миграцию, я получаю следующую ошибку:

Необработанное исключение: System.InvalidOperationException: Невозможно определить отношение, представленное свойством навигации 'Profile.ApprovedByтипа «ApplicationUser».Либо настройте отношение вручную, либо игнорируйте это свойство с помощью атрибута «[NotMapped]» или с помощью «EntityTypeBuilder.Ignore» в «OnModelCreating».

Может кто-нибудь объяснить, почему это происходит и как яразрешит это пожалуйста?

...