【发布时间】:2016-08-10 21:11:23
【问题描述】:
我正在开发一个新项目并想使用 MVC 和实体框架。为了分离关注点。我打算像这样构建我的项目..
- MyProject.Web(该项目包含 MVC 的 V 和 C)
- MyProject.Model(该项目包含 MVC 的 M,以便可以重复使用和共享。这是我的业务对象/域对象所在的位置)
- MyProject.BLL(这是我编写业务逻辑并通过接口提供的地方)
- MyProject.Entity(这是我的 DAL - 向导将使用 db first 方法在其中生成实体对象)
我的问题是在我的 BLL 中将实体对象转换为业务对象的最佳方法是什么?我的映射要求我连接两个表并计算一个总和,该总和将映射到业务对象中的一个字段。
不确定这是一个很好的例子,但假设我加入了客户表和订单表,并为同一个客户返回了两条记录。一种是在上午下订单,另一种是在下午下订单。我需要计算当天的总数并将其映射到我的业务对象中的一个字段。
想到Automapper而不是手动编码DTO,但我不确定它是否可以进行复杂的映射(使用总和计算)?
有没有办法在 EF 6 中手动配置自定义地图来做到这一点?
【问题讨论】:
标签: c# asp.net-mvc entity-framework automapper