Jay*_*ena 1 inheritance entity-framework ef-code-first entity-framework-4.1
我有代码第一个实现流动的层次结构,
BaseContact{
Public int Id{get;set;}
public string Name{get;set;}
//..
}
Person:BaseContact{
public string Designation{get;set;}
//..
}
Company:BaseContact{
public int NumOfEmployees{get;set;}
//..
}
Run Code Online (Sandbox Code Playgroud)
我想通过仅使用Id值来识别人或公司?目前我正在使用反思来确定它是个人还是公司.有没有其他方法来识别它而不做太多?
在没有看到你如何初始化你的类的情况下,我将假设每个具体类型的方法都有一个表.
您无法仅通过ID执行此操作,因为您不知道ID属于哪个表."人员"表中的ID 2是"公司"中与ID 3不同的实体.仅从ID中识别的唯一实用方法是使用每层次表方法并检查类型描述符.
您还可以使用简单的is语句而不是反射.即if (entity is Company)