P12 添加 AutoMapper
我们安装的不是第一个库,而是下面这个扩展库,它和.net core里面的依赖注入体系可以更好的结合。
安装它的时候,相当于已经带着AutoMapper了。
注册AutoMapper到DI的容器里面
它需要有参数,程序集的数组。
只有引入了命名空间AutoMapper。下面的UseAutoMapper才能找到这个方法。
AutoMapper将在这些Assembly程序集里面寻找AutoMapper的配置文件。
扫描当前域下的所有程序集。
添加配置文件
添加Profiles文件夹。
添加CompanyProfiles
从Company映射到CompanyDto
约定:
元类型和目标类型里面的属性名 如果是一样的话,那么元类型的属性值就会赋值给目标类型的属性。
如果dto里面有属性在Company里面不存在。,那么就忽略。
他俩并列显示
dto里面故意把Name改成CompanyName。这个时候源类型和目标类型的属性名就不一致了。这个时候映射肯定是不会成功的。
针对按照默认的约定无法映射成功的,增加手动的映射
Controller内优化代码
构造函数注入AutoMapper
如果注入的为空就抛出异常
getCompany方法 返回类型也改成ActionResult
运行测试
返回的属性名变了,说明AutoMapper是成功了。
测试返回单个对象的
结束