Отношение 1 ко многим - PullRequest
2 голосов
/ 12 марта 2011

Я пытаюсь создать объектную модель на основе модели базы данных. Модель базы данных содержит ограничения внешнего ключа. Например, у меня есть 3 таблицы: Company, Employee и ShareHolder. В компании есть 1 или более сотрудников, а в компании - 1 или более акционеров. У таблицы Employee и ShareHolder есть ссылка внешнего ключа на таблицу Company. Поэтому, когда я создаю свою объектную модель, я получаю:

public class Company
{
    public string CompanyID {get;set;}
    List<Employee> Employees {get;set;}
    List<ShareHolder> ShareHolders {get;set;}
}

Это самый удобный способ сделать это?

Ответы [ 3 ]

0 голосов
/ 12 марта 2011

Да, это самый очевидный подход.Особенно если ваше приложение ориентировано на компанию.

В зависимости от того, как вы будете использовать свои объекты в приложении, у вас могут быть обратные ссылки от 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;}
}
0 голосов
/ 12 марта 2011

Поскольку это для модели представления, я бы назвал ее CompanyDisplay или CompanyInput в зависимости от того, что делает представление.

0 голосов
/ 12 марта 2011

Мне кажется, я бы сделал то же самое.

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;}
    //..
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...