我应该何时使用AutoMapper,何时不使用



我有一个数据层,其中包含我的EF6 DbFirst edmx、存储库和AutoMappings。

我还有一个模型层,在我的数据层中,每个自动生成的实体都有一个Poco。除了一些名称更改之外,这些属性几乎完全匹配。

AutoMapper只安装在我的DataLayer上,这是我在配置文件中设置所有映射的地方。在这一点上,我有一个从每个DataLayer实体到每个ModelLayer实体的映射,以及从每个ModelLayer图元到每个DataLayer图元的映射。任何名称更改都会在映射中指定。

由于它是在我的存储库保存方法中以这种方式设置的,该函数从ModelLayer接收一个对象,但随后被映射到DataLayer对象,因此我可以将其发送到DbContext。当在我的存储库中提取信息时,我使用DbContext进行检索,然后使用AutoMapper函数映射到Model,以便该函数可以返回Model.entity.

我的业务层和web应用程序仅使用模型实体。如果这件事有什么不对劲,请告诉我。

另一件事是在控制器中的GET和POST操作期间从ModelLayer映射到ViewModel,反之亦然。在这里绘制双向地图也正常吗?此时我是否需要将AutoMapper安装到我的web应用程序?

当我想摆脱无聊的左手边-右手边代码时,我会使用AutoMapper。如果复制数据的逻辑不是很明显,那么我将返回到手动映射。

这些天,这意味着我在所有GET上使用AutoMapper的LINQ投影,而在POST上则很少使用。

相关内容

  • 没有找到相关文章

最新更新