Сложные столбцы дискриминатора - PullRequest
0 голосов
/ 21 сентября 2018

Возможно ли иметь дискриминатор по двум столбцам в EF Core 2.1?

У меня есть сценарий, где у меня есть абстрактный базовый тип, который можно разделить на два дополнительных абстрактных типа, каждый с несколькими конкретными реализациями,В данный момент я пытаюсь выяснить, как реализовать это в EF Core.

Я могу изменить свои модели, но чувствую, что не хочу, чтобы ORM диктовал дизайн моей доменной модели.

Я работаю с существующей базой данных, которую я не могу изменить, и в строке есть два столбца, в данном случае это будет пол и роль.Я не хочу создавать мужчину или женщину, только MaleManager / FemaleManager / MaleSubordinate / FemaleSubordinate.

Пример:

public abstract class Person
{
    public abstract int Gender { get; }
    public abstract int Role { get; }
}

public abstract class Male : Person
{
    public override int Gender => 1;
}

public abstract class Female : Person
{
    public override int Gender => 2;
}

public class MaleManager : Male
{
    public override int Role => 1;
}

public class MaleSubordinate : Male
{
    public override int Role => 2;
}

public class FemaleManager : Female
{
    public override int Role => 1;
}

public class FemaleSubordinate : Female
{
    public override int Role => 2;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...