Мне не удается сгенерировать миграцию для Entity Framework Core (v. 2.2.0)
У меня есть класс «Question», который наследуется классами «MultipleChoiceQuestion» и «MatchColumns». Я пытаюсь построить наследование TPH (таблица на иерархию) с помощью Entity Framework Core. Мой базовый класс (Вопрос) имеет свойство "QuestionType", чтобы различать guish между дочерними классами. Свойство QuestionType является Enum. Я не хочу, чтобы EF генерировал столбец Discriminator, но использую свойство «QuestionType» в качестве столбца Discriminator.
Чтобы создать правильную миграцию, я использую следующий код в классе dbcontext:
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Question>(b => b.HasDiscriminator(x => x.QuestionType).HasValue<MultipleChoiceQuestion>(QuestionType.MultipleChoiceQuestion).HasValue<MatchColumns>(QuestionType.MatchColumns));
modelBuilder.Entity<Question>().Property(p => p.QuestionType).HasMaxLength(100).HasColumnName("QuestionType");
}
Но когда я запускаю «Add-Migration», я получаю следующую ошибку:
Тип сущности 'Question' является частью иерархии, но не имеет настроенного значения дискриминатора.
Не могу понять, почему код настройки не работает. Я посмотрел следующую документацию от Microsoft: https://docs.microsoft.com/en-us/ef/core/modeling/inheritance#discriminator -конфигурация
Есть ли какие-либо указатели на то, почему конфигурация неполная / не работает?
TIA.