2009-10-29 25 views
5

Miré muchos ejemplos en línea usando el patrón de repositorio con EF. Pero ninguno de ellos realmente habló sobre trabajar con entidades relacionadas.Patrón de repositorio y marco de entidad

Me gusta decir El usuario puede tener varias direcciones.

IUserRepository 
User CreateUser(); 
void UpdateUser(); 

Ahora, si tuviera que agregar una dirección al usuario, ¿debería estar en el repositorio? O en la instancia de usuario

Siento que el patrón de depósito se debe usar para CRUD y obtener operaciones en la entidad. Pero cuando se trata de trabajar con entidades relacionadas, realmente deberían definirse en la entidad [en su mayor parte]

Como en este escenario, la dirección es inútil sin un usuario, ¿no debería estar en la entidad?

alguna idea?

Respuesta

4

Esto no es realmente una pregunta EF; es más una pregunta de patrón de repositorio. Tome un libro de DDD y lea sobre el concepto de raíces agregadas. Si una dirección es "inútil sin un usuario", entonces probablemente no debería tener métodos CRUD en un repositorio, como usted dice. Pero el concepto de raíz agregado hace que esto sea mucho más formal.