存储库模式是否仅用于实体框架?

Bre*_*ogt 5 .net c# ado.net entity-framework entity-framework-5

我已经使用Entity Frameworkrepository pattern一段时间了.

前几天我被问到不使用实体框架编写数据层,只是简单的旧版ADO.NET.我想知道最好的办法是什么?我是否还使用普通的旧ADO.NET为我的CRUD操作使用存储库模式?

如果我去Codeplex搜索存储库模式,那么99.9%的所有示例项目都使用Entity Framework.如果我使用普通的ADO.NET和存储过程,是否需要使用不同的模式?

Pau*_*haw 4

不,存储库模式在实体框架之外广泛使用,并且是处理数据访问的全面有用的方式。

来自MSDN

  • 它集中了数据逻辑或Web 服务访问逻辑。
  • 它为单元测试提供了一个替代点。
  • 它提供了一个灵活的架构,可以随着应用程序整体设计的发展而进行调整。

http://msdn.microsoft.com/en-us/library/ff649690.aspx

其他福利:

  • 可以轻松地在存储库中添加逻辑,例如通过 Web 请求缓存结果
  • 可以添加常见查询,例如userRepository.FindByEmailAddress(emailAddress);
  • 可以用另一个存储库进行更改,例如以最小的努力将数据库切换为 Web 服务