在模型方法或控制器中保存到数据库

Save to DB in model method or controller

我正在努力研究 MVC 及其使用方法。对于我的问题的任何帮助,我将不胜感激。

我使用 EF DB First 创建了一个模型。我的应用程序只向数据库添加数据。所以问题是,我应该在哪里保存到数据库?在我的控制器中或在模型的部分 class 内的方法中?

在一本典型的 MVC 介绍书中,他们展示了一个带有简单数据模型的基本数据输入应用程序,例如:class 包含用户输入的个人数据, 一个带有 Index 视图的 HomeController,该视图由一个名为 Index 的 ViewResult 方法调用,以及一个使用 Html 帮助程序创建具有一组字段的表单的数据输入视图。

该视图将由同一 HomeController 中的一对 ViewResult 方法处理,一个用 [HttpGet] 修饰,一个用可编辑的形式向用户呈现视图,另一个用 [HttpPost] 修饰, 那一个将接收并绑定来自编辑视图的数据。

绑定将由称为 modelBinder 的 MVC 组件在该 ViewResult 方法中完成。 在那里你将调用你的 EF 的 DbContext 来保存数据。 请记住,直接调用 DbContext 是在非常简单的上下文中进行的 "learning app" ,正确的方法是创建一个数据操作层和它自己的项目并创建一个将被实例化的服务通过像 Unity 或 Ninject 这样的 IoC 库。希望对你有帮助。