存储库模式和实体框架

问题描述:

我在EF上使用存储库模式在线查看了很多示例。但他们都没有真正谈到与相关实体合作。存储库模式和实体框架

就像说用户可以有多个地址。

IUserRepository 
User CreateUser(); 
void UpdateUser(); 

现在,如果我要添加一个地址给用户应该,它应该在存储库?或 用户实例

我觉得存储库模式shud用于CRUD和获取操作的实体。但是当涉及到与相关实体的合作时,他们应该在实体上真正定义[大部分]

就像在这种情况下一样,没有用户的地址是无用的,它不应该在实体上吗?

有什么想法?

这不是真正的EF问题;它更像是一个Repository模式问题。拿起一本DDD书,并阅读聚合根的概念。如果一个地址“没有用户就无用”,那么就像你说的那样,它可能不应该在存储库上有CRUD方法。但是总根概念使得这更加正式。