Возможно ли иметь дискриминатор по двум столбцам в 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;
}