实体对象到业务对象

Entity objects to business object

我正在开发一个新项目,想使用 MVC 和 entity framework。为了分离关注点。我打算像这样构建我的项目..

我的问题是在我的 BLL 中将实体对象转换为业务对象的最佳方法是什么?我的映射要求我连接两个 table 并计算将映射到业务对象中的字段的总和。

不确定这是一个很好的例子,但可以说我加入了客户 table 并订购了 table,并为同一客户返回了两条记录。一种用于上午下的订单,一种用于下午下的订单。我需要计算当天的总数并将其映射到我的业务对象中的一个字段。

想到了 Automapper 而不是手动编码 DTO,但我不确定它是否可以进行复杂的映射(使用求和计算)?

有没有办法在 EF 6 中手动配置自定义地图来执行此操作?

借助 Automapper,您可以使用投影进行复杂的映射或使用 AutoMapper 的 QueryableExtensions 辅助方法。

请参阅下面的聚合部分 link。

LINQ can support aggregate queries, and AutoMapper supports LINQ extension methods

https://github.com/AutoMapper/AutoMapper/wiki/Queryable-Extensions