假设我有两个类
class Employee
{
public string EmployeeId { get; set; }
public int Manager { get; set; }
}
class Manager : Employee
{
}
其中 int Manager
可以是 1
或 0
。我想在我的 EmployeeContext
中创建一个映射,以便将员工表中的员工条目(其中 manager 等于 1)映射到 Manager
类。
最佳答案
您需要按照描述实现 TPH 继承模式 here .
您需要添加到所描述的实现中的是 - 您需要在实体类中包含 Discriminator
属性并将其映射到相应的数据库字段。然后根据 Discriminator
属性的值实现你的 int Manager
- 而 Manager
只能是只读属性。
如果您想让员工成为经理,您必须更改 Discriminator
字段的值。反过来,您必须了解数据库中发生的情况。 TPH 远非 Elixir ,您可能想使用另一种模式,但从这个开始是个不错的选择。
另见: Entity Framework Inheritance Mapping (TPH)和 How to map inherited entities in EF code-first .
关于c# - 根据属性值映射到类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30684550/