今天把AbpStepByStep升级到Abp 5.3,可以从github下载:https://github.com/zhenl/AbpStepByStep。
还修改了编译时的警告:
'“AutoMapExtensions.MapTo<TDestination>(object)”已过时:“Automapper will remove static API, Please use ObjectMapper instead. See https://github.com/aspnetboilerplate/aspnetboilerplate/issues/4667”
原来的对象映射使用的是扩展方法MapTo,扩展方法实际上是通过静态方法实现的。静态方法最大的问题是无法依赖注入,对单元测试也不友好,现在改为使用IObjectMapper,修改起来其实并不困难,因为缺省情况下,Abp已经向服务注入了IObjectMapper的实现,直接使用就可以了:
public List<CategoryDto> GetPoemCategories(int poemid)
{
var lst = _categoryPoemRepository.GetAllIncluding(o => o.Category).Where(p => p.PoemId == poemid).Select(q => q.Category);
return ObjectMapper.Map<List<CategoryDto>>(lst); //lst.MapTo<List<CategoryDto>>();
}
这个项目的目的是演示从零开始构建Abp项目,可以看相关系列文章https://www.jianshu.com/nb/37706991