我正在尝试基于databasemodel创建一个objectmodel。数据库模型包含外键约束。例如,我有3个表:Company,Employee和ShareHolder。 公司有一个或多个员工,公司有一个或多个ShareHolders。 Employee和ShareHolder表具有Company表的外键引用。所以,当我创建我的对象Model时,我得到:
public class Company
{
public string CompanyID {get;set;}
List<Employee> Employees {get;set;}
List<ShareHolder> ShareHolders {get;set;}
}
这是最方便的方法吗?
答案 0 :(得分:0)
对我而言,我会这样做。
public class Company
{
public string CompanyID {get;set;}
List<Employee> Employees {get;set;}
List<ShareHolder> ShareHolders {get;set;}
}
public class Employee
{
public string CompanyID {get;set;}
//...
}
public class ShareHolder
{
public string CompanyID {get;set;}
//..
}
答案 1 :(得分:0)
是的,这是最明显的方法。特别是如果您的申请以公司为重点。
根据您在应用中使用对象的方式,您可能会有来自Employee
和ShareHolder
的反向链接,这样您就可以轻松导航Employee
和ShareHolder
回到Company
而没有过多的搜索。
public class Person
{
public string Name {get;set;}
}
public class Employee : Person
{
public Company Workplace {get;set;} // might be List<Company> depending on your application needs
}
public class ShareHolder : Person
{
public List<Company> OwnedCompanies {get;set;}
}
答案 2 :(得分:0)
由于它是视图模型,我根据视图的作用将它命名为CompanyDisplay或CompanyInput。