复杂鉴别符

时间:2018-09-21 09:04:51

标签: entity-framework-core entity-framework-core-2.1

在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;
}

0 个答案:

没有答案