3

我对 MVC 架构完全陌生,对架构有一些疑问,这主要是由于没有使用实体框架,而是我一直在使用数据访问与数据表和数据集来将数据获取到应用程序。我想知道有关 MVC 模式的最佳实践,以防有人可以帮助某些链接或 pdf(没有实体框架)。我还想知道一件事,那就是,我们从哪里调用从数据库中获取数据的 DAL 方法?来自模型类还是来自控制器动作?

4

2 回答 2

4

这是一个关于如何使用 MVC 实现数据访问代码的简短演示。请注意,数据访问通常发生在控制器操作中,而不是上面提到的模型:

[HttpPost]
public ActionResult Update(MyModel model){
    //You call your data access code here and retrieve your entity
    DataAccessObject dao = new DataAcessObject();
    var entity = dao.Get(model.Id);
    //Now that you have your entity, update its properties from the model that
    //has been posted to this action
    entity.Name = model.Name;
    entity.Phone = model.Phone;
    //Once your entity has been updated, pass it to the Update method of the DAO
    dao.Update(entity);
}

有很多方法可以给这只猫剥皮,但上面的方法应该可以让你知道。除非您的应用程序非常小,否则您应该考虑实现存储库模式以分离您的 UI 和数据层。

于 2013-09-21T14:57:03.017 回答
0

MVC 模式的良好实践: 视图:应该是纯 HTML,没有逻辑控制器:这是 HTTP 处理程序,不应包含业务逻辑,而应仅包含表示逻辑(用于显示的 IF 条件等)。它不知道数据来自何处或如何获取数据。它只知道模型对象模型:表示数据及其访问。模型应该访问数据库并获取数据并填充对象,然后控制器可以使用该对象传递给 View。

EntityFramework:与 MVC 无关,因此当您在 MVC 项目中使用 EntityFramework 时,您可能看不到后面提到的良好实践。

于 2014-06-26T16:10:21.547 回答