我希望在这里获得一些经验和解释,因为不同的来源给出了不同的建议。我完全是MVC的新手。我知道这个问题以前已经被问过,但我目前没有使用EF或Linq。
我有一个SQL数据库,其中包含许多存储过程。以前在WebForms中使用时,有一个业务层,其中包含用于调用过程并将数据集返回给页面的辅助方法。重要的是,这些过程通常会查询约20个表;页面不仅仅反映数据库结构(正如我在大多数MVC教程中看到的):
我有一个SQL数据库,其中包含许多存储过程。以前在WebForms中使用时,有一个业务层,其中包含用于调用过程并将数据集返回给页面的辅助方法。重要的是,这些过程通常会查询约20个表;页面不仅仅反映数据库结构(正如我在大多数MVC教程中看到的):
SQL database <--> stored procedures <--> business layer <--> web forms
我希望在正确的基础上开始学习并采取最佳方法,但我知道可能没有一个“正确”的答案。因此,如果您发帖,请解释一下“为什么”?
- 存储过程逻辑(SQLCommand/业务方法等)应该放在模型或控制器中?
有一篇帖子建议不要这样做, 但保留业务层。 另一位专家 建议
[模型/实体] 不应该有除了从数据库返回的内容之外的任何附加方法
如果保留业务层,那么方法是从哪里调用的(例如模型或控制器)?
如果上面的答案是“都不是”,那是否意味着模型部分将不会被使用?
那几乎感觉像是没有做好事情,然而在这个教程中似乎就是这样。
- 我应该将实体框架插入到模型层中以调用业务层吗?
那感觉像是过度设计,增加了所有这些额外的逻辑。