Web开发期间的自动映射与手动映射

时间:2017-09-25 11:34:13

标签: c# entity-framework asp.net-web-api automapper

我正在开发一个实现DDD原则并使用Asp.net web api和Entity Framework的Web应用程序。

我知道我的问题很奇怪,但无论如何我正在寻找那些有经验的人的指导。

过去我在dtos,域模型和数据模型之间进行映射,但最近我发现每次都很难做到这一点。

依赖内置的自动化程序来处理我们的应用程序的映射是一种可靠的方法吗?有哪些可用的内置自动化程序将它们与Web应用程序一起用作c#和Entity Framework?

1 个答案:

答案 0 :(得分:3)

我想说使用Automapper非常有用,可以节省大量时间,让我更专注于域逻辑而不是映射问题。

我在很多项目中使用了http://automapper.org/,并且在了解如何以正确的方式配置映射时非常强大。

使用Automappers而不是手动映射(在大多数情况下)确实存在性能成本,但考虑到它节省的开发时间,值得一试。

有很多文章和问题在讨论这个主题的更多细节,并与不同的映射方法和工具进行比较: http://geekswithblogs.net/mrsteve/archive/2016/11/29/object-mapper-performance-comparison-revisited.aspx
Which is faster: Automapper, Valuinjector, or manual mapping? To what degree is each one faster?
https://softwareengineering.stackexchange.com/questions/167250/am-i-wrong-in-thinking-that-needing-something-like-automapper-is-an-indication-o
还有更多,只是google it ...