楼主讲得不错,这里确实是存在的一对矛盾
在业务逻辑层的可编程性,可读性,可维护性都强于用存储过程,不过效率肯定不如存储过程。
但业务逻辑层的工具手段方法的灵活性多样性已经一些特殊性能要远远强于存储过程,最大的区别在于,存储过程是非面向对象的,这时选择就变得简单了,他们的区别有点类似于c和c++了。所以,我建议,以现在一般的应用规模来讲,应以逻辑层(DNA构架中)为主,以存储过程作为辅。
再请关注以下文章:
http://www.microsoft.com/china/msdn/vstudio/productinfo/roadmap.asp
正是看到了这一点,微软在.NET的后继版本 Visual Studio .NET“Everett" 将indows .NET Framework 公共语言运行库 (CLR) 与数据库引擎紧密集成,如果现在这样的的选择让你觉得为难的话,那么再过一年,这样的顾虑就可以彻底消除,因为数据库与开发工具已经紧密集成。那时就没有程序与存储过程的区别了,而再下一步,程序与操作系统的集成,也是有划时代意义的。如果微软的这几步都实现了,其他开发平台供应商的日子就不好过了。