2009-10-29 4 views
5

Я просмотрел множество примеров в Интернете с использованием шаблона хранилища с EF. Но никто из них не говорил о работе со связанными сущностями.Структура хранилища и структура объекта

Как сказать Пользователь может иметь несколько адресов.

IUserRepository 
User CreateUser(); 
void UpdateUser(); 

Теперь, если бы я должен был добавить адрес пользователю, должен ли он находиться в Репозитории? ИЛИ на экземпляре пользователя

Я чувствую, что шаблон хранилища можно использовать для CRUD и Get Operations на сущности. Но когда дело доходит до работы с связанными объектами, они действительно должны быть определены на объекте [по большей части]

Как и в этом случае, адрес бесполезен без пользователя, не должно ли оно быть на объекте?

любые мысли?

ответ

4

Это не вопрос EF; это скорее вопрос шаблона репозитория. Возьмите книгу DDD и прочитайте концепцию совокупных корней. Если адрес «бесполезен без пользователя», то он, вероятно, не должен иметь методов CRUD в репозитории, как вы говорите. Но совокупная корневая концепция делает это гораздо более формальным.

Смежные вопросы