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是成功了。

测试返回单个对象的



 

结束

 

posted @ 2020-03-22 00:04  高山-景行  阅读(260)  评论(0编辑  收藏  举报