【问题标题】:EF + Automapper, is this a good approach to a ASP.NET MVC 2 web app project?EF + Automapper,这是 ASP.NET MVC 2 Web 应用项目的好方法吗?
【发布时间】:2011-05-28 16:12:00
【问题描述】:

我正在使用 MVC 2 开始一个项目,想知道以下结构在设计方面是否是一种好的方法。

目前我已将我的网络应用分为两个项目

-ApplicationModelLayer(库项目)

  • 型号

在这里,我为我的数据库的每个实体都有一个类,我将在其中编写验证和业务逻辑。当我进行 CRUD 操作时,我调用 Automapper 进行映射:MyModelClass -> EFClass。

-ApplicationViewLayer(MVC 2 网络项目)

  • 控制器
  • 观看次数

我是否应用了 ApplicationModelLayer 的良好设计和分离? 这 “更好” 是否比仅使用带有部分类的 EF 进行验证?

谢谢。

【问题讨论】:

    标签: .net entity-framework asp.net-mvc-2 automapper


    【解决方案1】:

    我会将视图模型类以及 EF 模型和视图模型之间的映射放在 ApplicationViewLayer 中。因为视图模型是专门为满足视图要求而设计的,所以我会使用 Web 应用程序的 Models 文件夹来存储它们。

    就模型层而言,除了Models 文件夹外,我还有RepositoriesServices 文件夹。 Repositories 用于 EF 域模型的 CRUD 操作,Services 应包含基于简单 CRUD 操作的域模型的业务逻辑和更复杂的操作。

    在 Web 层中,控制器操作将使用服务操作来获取域模型,使用 AutoMapper 将此域模型映射到视图模型,并将视图模型传递给视图。反之亦然:控制器动作可以从视图接收视图模型,使用 AutoMapper 将其映射回域模型,并将此模型传递给服务层进行处理。

    【讨论】:

      猜你喜欢
      • 2023-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-03
      • 2013-05-28
      • 1970-01-01
      相关资源
      最近更新 更多