c# - Net Core:用于在通用存储库中将 Id 映射到 ClassName+Id 的 Automapper
问题描述
我们有来自公司架构师的数据库、域层和通用存储库(不是我的选择)。
试图从员工数据库脚手架类映射到员工域类。如果所有类成员名称完全相同,则这是要映射的代码。
Mapper.CreateMap<EmployeeData, EmployeeDomain>();
但是,数据库类中的主键成员被命名为 Id(以适应通用存储库)。那么如何创建类的继承或新 AutoMapper 函数,并将 Id 映射到 Domain 中的 EmployeeId,同时映射其他成员?
以下是手动将 Id 映射到 Employee Id 的方法。我需要创建一个接受任何类(ProductId、SalesId、CustomerId 等)的函数,并将 id 映射到“ClassName”+ id,同时正确映射其他同名成员。
Mapper.CreateMap<EmployeeData, EmployeeDomain>()
.ForMember(dest => dest.EmployeeId, opt => opt.MapFrom(src => src.Id))
理想情况下,函数应该能够接受其他 Automapper 函数,如 .ReverseMap 等
解决方案
推荐阅读
- django - 如何解耦本地目录和 Heroku 项目
- amazon-web-services - 使用 AWS 存储服务(EBS 或 EFS 或 S3)作为卷或挂载与 Stanalone Docker 容器而不是 ECS 绑定?
- java - 如何将字符串更改为字符
- java - 想要访问具有父类 ID 的子属性
- excel - 如何在循环中向下移动单元格
- bash - 从 git tag --list 'v*' 获取最后一个标签
- node.js - 有没有办法在 NodeJS 文件流中读取和写入同一行?
- php - 从下拉 Laravel 中获取所选值时始终为 NULL
- android - React Native Android 到 iOS 迁移
- java - spring 占位符 - 替换 bean 中的值