首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >MVC业务逻辑+ DAL + EF模型映射ViewModel

MVC业务逻辑+ DAL + EF模型映射ViewModel
EN

Stack Overflow用户
提问于 2018-06-01 02:41:51
回答 1查看 328关注 0票数 0

我正在开始开发一个应用程序,我想知道组织解决方案体系结构的最佳实践。

我应该使用EF类模型作为我的ViewModel?

  • Should吗?
  1. 我把我所有的查询和数据库访问都放在这个模型里了?或者创建一个服务来管理所有数据库关注点?

我先使用EF和DB,因为数据库已经开发好了。

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2018-06-02 03:29:07

有更完整的应用程序架构描述,但这里是$.25描述。

  1. EF类模型用于与数据存储进行通信
  2. data Transfer Objects (DTO)是模块之间的通信方式(WebAPI到MVC,etc.)
  3. ViewModels提供您的UI需要的数据

查看“关注点分离”,因为它与应用程序架构有关,它可以省去您的麻烦。通常,当你发现你为自己画了一个角落时,开发人员会将这些实体两用,导致一些滑稽的结果。如果你是“画家”,就不那么好笑了。

另一方面,保留这些模型需要额外的工作,并且映射需要占用CPU周期。下面是一个具体的例子:

WebAPI访问People实体(EF类)并映射到PeopleDTO (不是所有字段,可能还有其他信息),并将其返回给您的MVC控制器。MVC控制器获取PeopleDTO并将其与支持查找表(更多WebAPI调用)合并,以创建供您的Razor Page使用的PeopleVM (ViewModel)。

在我刚刚概述的场景中,有三种不同类型的人对象,但每种对象都可以有非常不同的内容,这取决于“层”的需求。有很多工具可以减少映射的痛苦。

明白了吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50630808

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档