Automapper公约

Automapper可以设置约定,以便在您映射到的实体只是附加了“ViewModel”的情况下,不必手动创建映射。

作为一个例子,我宁愿不必设置以下地图:

Mapper.CreateMap(); 

我知道如果需要投影我需要创建一个自定义地图,但是有一个创建地图的约定会很好。

您需要使用Mapper.DynamicMap(source)进行映射。

正如您在下面的示例中所看到的,它会自动将匹配的属性从源映射到目标。

 using AutoMapper; using System.Diagnostics; class Program { static void Main(string[] args) { var source = new Foo {Value = "Abc"}; var destination = Mapper.DynamicMap(source); Debug.Assert(source.Value == destination.Value); } } public class Foo { public string Value { get; set; } } public class FooViewModel { public string Value { get; set; } }