【发布时间】:2016-01-16 07:21:16
【问题描述】:
这是我不明白的。存储过程的传统智慧是始终创建它们,如果您知道将作为应用程序的一部分执行的查询并且可以用参数来描述它(这就像 99.9999% 的时间......另外 0.0001% 是如果您创建的应用程序中的查询是不可预测的,因为用户正在编写查询或其他内容)。但是,如果我这样做——为一切设置触发器、级联删除、存储过程——当我创建我的数据库时,那么即使有一个模型又有什么意义呢?在这种情况下,模型服务的唯一目的是告诉数据库“开始!”数据库执行所有逻辑。使 MVC 中的 M 非常无关紧要。
很抱歉,这似乎是一个基于意见的问题,但我觉得我并没有真正了解 ASP.NET MVC 的要点,如果一方面有人告诉我“让数据库处理尽可能多的逻辑" 而另一方面,这些工具,如 LINQ、Entity 等,都是用于创建 C# 查询数据库的方式。
ASP.NET MVC 和存储过程是反义词吗?
【问题讨论】:
-
4 人投票支持关闭此问题,原因是“不清楚您在问什么”。好吧,如果有理由关闭这个问题,我会说主要基于意见将是一个更好的选择,但即使这对我来说似乎也不是一个很好的理由。您可以在 MVC 应用程序中使用存储过程这一事实不是基于意见的,如果您认为不应该使用它们,那么您对 MVC 一无所知。
标签: asp.net asp.net-mvc linq stored-procedures database-design