Entity Framework Core Model Builder Игнорировать Игнорировать конфигурацию <class>() - PullRequest
0 голосов
/ 13 июня 2019

У меня проблема с миграцией EntityFramework Core, в которую входят абстрактные классы.

Основная структура базы данных содержит абстрактный базовый класс и дочерний класс, который наследует от своего собственного базового класса, в основном один базовый класс и один дочерний класс на таблицу.В конфигурациях типов я настраиваю только дочерние классы и использую builder.Ignore<BaseClass>() для исключения базовых классов из модели.Мне нужно игнорировать, потому что EF Core также хочет отобразить базовые классы, и я хочу использовать метод Ignore для исключения базовых классов.

Когда я использую атрибут [NotMapped] в базовых классах, успешность миграции, но когда я использую Ignore(), сборщик моделей просто хочет отобразить базовые классы, как я не называл Ignore().

Скажем, DBSet на данный момент содержит Test, который наследуетс TestBase public virtual DbSet<Test> Test { get; set; }

protected override void OnModelCreating(ModelBuilder modelBuilder)
{       
    var assembly = System.Reflection.Assembly.GetExecutingAssembly();
    modelBuilder.ApplyConfigurationsFromAssembly(assembly);
    modelBuilder.Ignore<TestBase>();
    base.OnModelCreating(modelBuilder);
}

Ошибка миграции с ошибками, связанными с базовым классом, поэтому я думаю, что EF Core также хочет отобразить базовый тип, потому что, если я использую [NotMapped] на TestBase,миграция работает.Основная причина, по которой я не могу использовать NotMapped, потому что мне нужны базовые классы и в сгенерированной EF базе данных, а с EF дочерние классы наследуют атрибут [NotMapped]

Спасибо за помощь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...