c# - 如何通过 Automapper 10+ 将两个不同的对象与嵌套集合合并?
问题描述
请考虑以下源代码
// Data Model
public class CustomerDataModel
{
public string Name { get; set; }
public string Family { get; set; }
public IEnumerable<CustomerDetailDataModel> CustomerDetail { get; set; }
public CustomerDataModel()
{
CustomerDetail = new List<CustomerDetailDataModel>();
}
}
public class CustomerDetailDataModel
{
public int Id { get; set; }
public string Info { get; set; }
}
// Request Model
public class CustomerRequestModel
{
public string Name { get; set; }
public IEnumerable<CustomerDetailRequestModel> CustomerDetail { get; set; }
public CustomerRequestModel()
{
CustomerDetail = new List<CustomerDetailRequestModel>();
}
}
public class CustomerDetailRequestModel
{
public int Id { get; set; }
}
现在考虑这些值
// Data Model
var customerDetailDataModel = new List<CustomerDetailDataModel>();
customerDetailDataModel.Add(new CustomerDetailDataModel() { Id = 1, Info = "nothing" });
var customerDataModel = new CustomerDataModel()
{
Name = "Jack",
Family = "Robbin",
CustomerDetail = customerDetailDataModel
};
// Request Model
var customerDetailRequestModel = new List<CustomerDetailRequestModel>();
customerDetailRequestModel.Add(new CustomerDetailRequestModel() { Id = 2 });
var customerRequestModel = new CustomerRequestModel()
{
Name = "Maya",
CustomerDetail = customerDetailRequestModel
};
如何使用 Automapper 10+合并数据CustomerDataModel
,也可以反向合并数据?CustomerRequestModel
如果目标中存在数据,则保留它,如果不合并它(将其替换为源)。
解决方案
推荐阅读
- php - 如何从用户元中删除帖子/产品?
- nginx - 配置 nginx 为除主页之外的所有页面返回 503 错误代码
- ios - 共享扩展不打开/共享 .HEIC 类型图像
- mongodb - Mongodb 客户端字段级加密(CSFLE):致命错误:未找到 mongocrypt.h
- php - 从单独的服务器创建登录身份
- c# - 部署到 Azure 应用服务时下载文件失败
- google-analytics - 假设“博士”参数如何在 Google Universal Analytics 上工作?
- python - ValueError:未找到 data_id 554 的数据集
- vue.js - 是什么导致 vue.js 内存泄漏
- sass - 安装 parallelshell@3.0.2 和 onchange@7.1.0 后尝试运行 npm start 时遇到问题