具有实体框架实体与Business Objects的存储库模式

时间:2012-11-29 00:59:36

标签: entity-framework design-patterns repository-pattern

在EF的代码优先实现中,与存储库模式一起使用,存储库是应该从域模型返回业务对象,还是从数据模型返回简单实体?

据我所知,Repository的目的是返回业务对象,而不是实体,以便您可以使用它们。但是我发现的大多数代码示例都是返回数据模型,这对我来说似乎是一个坏主意,因为如果数据源发生了变化会怎样?

1 个答案:

答案 0 :(得分:1)

如果您正在使用CodeFirst开发,您也可以轻松地将业务对象用作数据模型。您可以在单独的DLL中编写Ef映射,以消除EF对业务模型的依赖性。如果要将数据源更改为另一个而不是EF,则可以为此保留相同的业务(域)类。