何时使用存储过程优于硬编码查询?

Ash*_*rma 5 c# sql t-sql asp.net stored-procedures

对我来说这是非常常见但很重要的问题,因为在我的项目中,我开始将硬编码查询转换为存储过程,我知道使用它的优势.但是,是否有任何特定的情况我应该避免使用存储过程?

小智 6

有一个标准的博客文章我发给每个认为存储过程总是有意义的人,除非在非常罕见的情况下.他们通常会引用一个谬论,你只需要制定一项禁止杀人的法律以阻止杀人犯.

http://weblogs.asp.net/fbouma/archive/2003/11/18/38178.aspx

上面的链接列出了很多关于何时以及何时不使用存储过程的非常好的论据.其中之一就是,特别是在C#中,你基本上忽略了框架为你提供的所有内容,就查询有明智的UI决策的能力而言,支持......维护噩梦.