IRepository - 实体实现

时间:2013-04-18 08:06:34

标签: repository-pattern

我正在使用Repository和UnitOfWork模式来保存解耦代码并实现一种测试应用程序的简单方法。

内部实现首先使用EntityFramerowk和DB,一切正常。

明天,我可能想要使用其他一些具体的存储库实现,例如文件系统而不是数据库,因此像Find或Delete这样的存储库方法可能很难实现,因为我的实体没有实现任何关于主要外键的实现等等。这意味着我对存储库的实体研究应查找与T对象参数匹配的所有字段。

那么,对于某些接口实现来说,执行我的实体是一种好的做法吗?例如:

是否有关于此的可用示例或教程?

1 个答案:

答案 0 :(得分:0)

  

某些存储库方法(如Find或Delete)可能很难实现,因为我的实体没有实现有关主要外键等的任何内容。这意味着我对存储库的实体研究应查找与T对象参数匹配的所有字段。

这就是如何不实现存储库。存储库接口(契约)应该不了解实体框架等底层实现细节。只有这样,您才能拥有不同的存储库实现并实现关注点的分离。此外,测试使用存储库的代码根本不应涉及EF或db。