【问题标题】:Updating a Model in asp.net mvc在 asp.net mvc 中更新模型
【发布时间】:2010-08-03 16:28:24
【问题描述】:

我们的项目经理要求我们重构一个使用存储库模式的应用程序(以 Nerddinner 为例),现在使用service Layer。 我现在的问题是我不确定如何更新模型,因为 UpdateModel 方法应该在控制器中使用......有什么推荐的方法来使用存储库模式和服务层更新模型? 请帮忙

【问题讨论】:

    标签: asp.net-mvc-2 repository-pattern service-layer


    【解决方案1】:

    我建议您在服务层中“隐藏”您当前的存储库模式。服务的客户端不应看到数据访问代码。

    您可以实现将从服务层返回或作为参数接受的 DTO 集合。这些对象可以只是 POCO,以与数据库无关的方式保存数据。

    DTO 通常伴随着适配器,用于在数据访问类(表示表)之间进行转换。这种方法允许您在不更改服务层接口的情况下更改数据库架构。

    如果您的项目很简单并且您的视图数据与服务层 DTO 匹配,您可以将这些 DTO 视为 MVC 中的模型。您还可以在 MVC 项目中定义您的模型,并让控制器或另一组适配器将模型转换为 DTO。

    我的首选设计包括在 MVC(模型文件夹)中声明的模型,该模型可与强类型视图一起使用。然后 UpdateModel 方法适用于这些类。下一个控制器或 ModelAdapter 创建服务层 DTO 的实例并将它们传递给服务。然后,服务内部的 DTO 适配器负责从存储库模式填充数据访问类。

    【讨论】:

      猜你喜欢
      • 2012-08-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多