首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用ADO.NET为MVC 3应用程序设计DAL的最佳方法?

用ADO.NET为MVC 3应用程序设计DAL的最佳方法?
EN

Stack Overflow用户
提问于 2013-05-23 20:12:53
回答 1查看 1.1K关注 0票数 3

我看到了大量的使用实体框架的MVC DAL示例,但是没有针对ADO.NET和存储过程的示例?在创建DAL的“存储库”模式和"UnitofWork“模式上似乎有一种趋势,类似于这样:

http://www.codeproject.com/Articles/207820/The-Repository-Pattern-with-EF-code-first-Dependen

如何将此代码基从EF迁移到ADO.net存储过程?

EN

回答 1

Stack Overflow用户

发布于 2013-05-28 14:09:06

如何将此代码基从EF迁移到ADO.net存储过程?

你得到的答案很少,因为我们大多数人都在远离存储过程。

造成这种情况的两个最大原因是:

对业务逻辑的控制

在一个地方拥有所有的业务逻辑可以更容易地读取代码,从而维护应用程序。也就是说,你在编程时得到了一个更好的流程。

如果您将业务逻辑分散到SPs和.NET代码之间,那么每次在代码和SPs之间切换时,您都必须从精神上改变(存储状态)。

更容易测试

测试很重要。特别是对于有维护计划的应用程序。

对于.NET,有几种测试代码的工具。所有东西都可以单独测试(不需要外部依赖),只需付出很少的努力,并且有几篇文章描述了不同的测试技术。

隔离测试存储过程是很困难的。

误区:存储过程比SQL查询更快。

今天,存储过程与参数化查询(即使用参数作为@userName的查询)相比,没有几年前( Server 2000及更低版本)的性能提高。实际上,它们的性能应该与现在保存用于参数化查询的执行计划相似。

但是,如果SP:s中有处理来自多个查询的结果的逻辑,那么它们确实获得了更好的性能,因为您的应用程序和数据库服务器之间不需要往返。但是,不同的应用体系结构可以很容易地对其进行补偿。

结论

走这条路之前要三思。通常都不值得。您在较少的CPU周期中获得的(金钱)通常比创建和维护应用程序所花费的时间少得多。

也就是说,存储过程可以按照这里的指示使用:http://msdn.microsoft.com/en-us/data/gg699321.aspx

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16723041

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档