Шаблон репозитория без ORM

Я использую шаблон репозитория в приложении .NET C #, которое не использует ORM. Однако проблема, с которой я сталкиваюсь, заключается в том, как заполнить свойства списка «один ко многим» объекта. например, если у клиента есть список заказов, то есть если у класса Customer есть свойство List с именем Orders, а в моем репозитории есть метод GetCustomerById, тогда?

  • Должен ли я загружать список заказов в методе GetCustomerById?
  • Что, если у самого заказа есть другое свойство списка и так далее?
  • Что, если я хочу выполнить отложенную загрузку? Где бы я поместил код для загрузки свойства Orders в клиенте? Внутри свойства Orders get {} аксессор? Но тогда мне пришлось бы внедрить репозиторий в объект домена? что я не считаю правильным решением.

Это также вызывает вопросы для таких функций, как отслеживание изменений, Удаление и т. Д.? Итак, я думаю, что конечный результат - могу ли я выполнить DDD без ORM?

Но сейчас меня интересует только отложенная загрузка свойств List в объекты моего домена? Есть идеи?

Набил

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

21
задан nabeelfarid 16 February 2011 в 17:57
поделиться