我有几种不同类型的公司可以访问我的 Web 应用程序,例如
不同类型的公司:
客户供应商代理
每个人在数据库中都有自己的表,链接到主表 Company,该表存储所有常见数据,例如 Address、Tel、Email、TypeOfCompany,并带有 FK 到相关表(Client 等)...
在整个应用程序中处理此 OO 的最佳方法是什么?
我目前正在做类似的事情:
public class CompanyDTO
{
public int Id {get;set;}
public string Name {get;set;}
public Address Address {get;set;}
public string Type {get;set;} //type of company
//etc...
}
然后从该类继承并添加其他属性,例如
public class ClientDTO : CompanyDTO
{
public string Key {get;set;}
public Address Billing {get;set;}
}
但是,例如,我有时会发现它有问题
- 供应商用户想要访问:AllCompanies,- 显示所有公司的列表
- 然后供应商公司的用户想要查看特定公司的详细信息,现在如果是客户,我需要显示 ClientDTO 还是 SupplierDTO?在这种情况下,我想向特定公司展示完整的详细信息
处理这个问题的最佳方法是什么?
例如GetCompanyByID(int companyid);
,或者GetClientByID(int clientid);
我应该在两个实例中返回什么类型的对象,假设我想要两个实例中的客户详细信息......