Разработка классов из таблицы One-Many с дополнительными полями - PullRequest
1 голос
/ 15 июня 2009

Как мне моделировать любые дополнительные свойства из отношений One-Many в базе данных обратно в классы?

Например, у меня есть 3 таблицы Model, Manager и Model_Manager. Таблица Model_Manager имеет ModelId, ManagerId и два дополнительных свойства - Процент и Владелец.

Сначала я создал два класса Manager и Model, а класс Model содержит коллекцию Managers для захвата ссылки 1-Many.

Но теперь куда мне поместить дополнительные свойства Percentage и Owner. Имеет ли смысл на самом деле иметь класс Model_Manager в дизайне, даже если это не класс "реального бизнеса"?

Ответы [ 4 ]

2 голосов
/ 15 июня 2009

Это отношение многие ко многим с дополнительными данными. Обычно это моделируется как два отношения «один ко многим». Так что да, вам нужно иметь класс Model_Manager, хотя вы можете подумать о лучшем имени (ManagedModel?) Модель и Менеджер имеют отношение один-ко-многим с Model_Manager.

1 голос
/ 15 июня 2009

Похоже, что ваши дополнительные 2 свойства являются атрибутами ссылки и поэтому должны быть представлены в классе, который моделирует managerID и 2 дополнительных поля

0 голосов
/ 15 июня 2009

Да, из того, что вы описали, класс ModelManager имеет смысл. Модель тогда будет иметь список ModelManager, а класс ModelManager будет иметь менеджера, процент и владельца.

0 голосов
/ 15 июня 2009

Что ж, предположительно, у каждого менеджера есть набор моделей, которым он может управлять в процентах, так что ...

Я бы создал класс ManagedModel, который содержит указатель на объект Model и дополнительные свойства. Тогда у каждого менеджера может быть набор объектов ManagedModel.

...