Хранение дополнительных данных в сущностях - PullRequest
0 голосов
/ 27 октября 2011

Допустим, у меня есть следующие сущности: Location & Product

Locations имеют размеры (длина, ширина, высота) и так же Products. Locations содержит один или несколько Products. В основном мне нужно получить кучу Locations и рассчитать на основе их размеров и Products на Location оставшуюся комнату, оставленную в определенном месте. Мне нужно в основном сохранить это значение (количество оставшегося места) и отсортировать Locations на основе этого значения.

Где хранить это значение?

Стоит ли хранить его в самой сущности Location как просто свойство, которое не сопоставлено ни с чем в базе данных? Кажется, что это плохая практика, но ее легко сделать.

Должен ли я создать DTO для этого, который содержит это дополнительное свойство и остальные данные о местоположении (этот вид кажется большой дополнительной работой для этого сценария) ?

Должен ли я, возможно, создать оболочку, которая имеет одно дополнительное свойство и фактическую сущность Location внутри него?

1 Ответ

0 голосов
/ 28 октября 2011

Мне кажется, что данные являются неотъемлемой частью самого объекта, поэтому я думаю, что было бы совершенно уместно добавить их в класс Location.

Я бы просто сделал это ленивым свойством в классе Location.Его следует вычислять только тогда, когда это необходимо, и, по-видимому, может вызвать отложенную загрузку коллекции продуктов Location.

Если вы хотите, вы можете сопоставить его со столбцом таблицы, поэтому, когда NHibernate сбрасывает, он всегда будет записывать наиболееактуальная стоимость.Это позволит вам затем использовать его в запросах для упорядочивания и фильтрации на уровне БД.

...