AutoMaper 映射理解
AutoMapper
为您的映射创建了一个执行计划。在调试期间,这个执行计划可以被看作是 一个表达式树 。通过安装 ReadableExpressions VS 扩展 ,您可以更好地查看生成的代码。如果您需要在 VS 之外查看代码,可以直接使用 ReadableExpressions 包 。这个 DotNetFiddle 示例 使用了 NuGet 包进行实时演示,并且这篇 文章 描述了如何使用 VS 扩展。
var configuration = new MapperConfiguration(cfg => cfg.CreateMap<Foo, Bar>());
var executionPlan = configuration.BuildExecutionPlan(typeof(Foo), typeof(Bar));
请确保在发布前删除所有此类代码。
对于 ProjectTo
,您需要检查 IQueryable.Expression
。
var expression = context.Entities.ProjectTo<Dto>().Expression;