Использование двух столбцов в качестве дискриминатора - PullRequest
0 голосов
/ 30 ноября 2018

Можно ли использовать два столбца в качестве дискриминатора.Например, что-то вроде:

protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<Job>()
          .HasDiscriminator<string>("Type")
          .HasValue<Models.SpecificJob>("attack");

        modelBuilder.Entity<Job>()
          .HasDiscriminator<string>("Domain")
          .HasValue<Models.SpecificJob>("fire_nation");

    }

Сейчас кажется, что он берет только самый последний дискриминатор и игнорирует первый.

1 Ответ

0 голосов
/ 30 ноября 2018

Нет.Дискриминатор указывает подтип, а EF (и .NET) не поддерживают множественное наследование .

Но вы можете (и должны) просто использовать обычные свойства, одно для «Типа» и одно для «Домена».

Вы можете добавить «Получатели» для отфильтрованных подмножеств ваших сущностей.,EG:

    class Db : DbContext
    {

        public DbSet<Job> Jobs { get; set; }
        public IQueryable<Job> AttackJobs => Jobs.Where(j => j.Type == "attack");
        public IQueryable<Job> FireNationJobs => Jobs.Where(j => j.Domain == "fire_nation");
 . . .
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...