我有以下计划:(不是真正的代码,只是为了得到这个想法)
class Person; class Employee : Person; class Company { public Person ContactPerson { ...} public EntityReference<ContactPerson> ContactPersonReference {....} }
employee类型在数据库中有自己的表(每类型继承一个表)。
假设我有一个公司实例没有加载contaceperson。 如何加载联系人以便它也加载员工字段(如果需要)?
有没有办法在所有公司的选择中确定它呢?
谢谢
你应该能根据联系人的类型进行检查。
if (company.ContactPerson is Employee) Console.WriteLine("I'm an Employee"); else Console.WriteLine("I'm a Person");
所以,如果雇员类有额外的badgenumber属性。你可以通过将某人转换为雇员来访问该财产。
if (company.ContactPerson is Employee) Console.Writeline("My badge Number is ", ((Employee)company.ContactPerson).BadgeNumber);