如何使用Repository模式在ORM之间轻松切换?

时间:2009-09-30 09:37:18

标签: .net design-patterns generics repository-pattern

我知道使用存储库模式的好处之一就是可以在ORM之间轻松切换,例如使用Linq实现数据访问代码到sql并使用Ado.net实体框架,然后使用Dependency注入开关哪一个使用

我看到KIGG做同样的事情“但它的类图很复杂,至少对我来说是作为存储库模式的初学者”

但是我找不到详细描述这个问题的例子,我看到这个example on codeproject它讨论了使用Linq到sql的通用存储库实现,但不能用来切换到使用另一个ORM。

我能理解这个问题吗?你推荐一篇文章或有你的描述吗?

1 个答案:

答案 0 :(得分:1)

我认为您的存储库 implimentation 将始终与其使用的任何ORM或数据访问方法相关联。松散耦合的位置在业务逻辑(存储库接口)和存储库实现之间。您可以创建一组符合接口要求的新的实现,但是可以实现不同的数据访问方法。一旦完成,就可以像重新配置IoC容器一样轻松地在两者之间切换......