如果每次创建一个dto类,还得在Profile文件里配置CreateMap麻烦的话,可以尝试使用特性配置
使用特性配置的话
private IConfigurationProvider GetConfigurationProvider()
{
var profile = new MappingProfile();
var configuration = new MapperConfiguration(cfg =>
cfg.AddMaps(System.AppDomain.CurrentDomain.GetAssemblies())
// cfg.AddProfile(profile)
);
return configuration;
}
在配置文件中改成添加程序集,此处注意,如果你的dto没在当前项目中的话,程序集的名称要改成DTO所在程序集的名称。
然后创建DTO的时候添加特性 [AutoMap(typeof(Role))]
[AutoMap(typeof(Role))]
public class RoleDto
{
public Guid ID { get; set; }
public int Level { get; set; }
public string Name { get; set; }
public string Desc { get; set; }
public int EmployeeCount { get; set; }
}
这个时候就可以使用automapper进行转换了,个人觉得这种方法 比在profile文件里配置方便一些