c# - 你如何从 List<> 到 Automapper c# 中的类
问题描述
在当前示例中,我发现 HeaderPayload => Header 很容易,因为我只是source.Data.Values
直接使用。让我以另一种方式构造 Header => HeaderPayload?
当前配置错误,在 Map 调用中失败。
[Test]
public void TestAutoMapper2()
{
// arrange
var config = new MapperConfiguration(cfg =>
{
cfg.CreateMap<Header, HeaderPayload>()
.ForMember(dest => dest.Data, map => map.MapFrom(src => src.Values))
;
});
var a = new Header { Values = new List<string> { "foo", "bar" } };
var mapper = new Mapper(config);
// act
var b = mapper.Map<Header>(a);
// assert
Assert.IsNotNull(b.Data);
Assert.IsNotEmpty(b.Data.Values);
Assert.AreEqual("foo", b.Data.Values.FirstOrDefault());
}
public class Data
{
public List<string> Values { get; set; }
}
public class Header
{
public List<string> Values { get; set; }
}
public class HeaderPayload
{
public Data Data { get; set; }
}
解决方案
推荐阅读
- php - 存储 API 以前的值并与新值进行比较
- deep-learning - 自编码器会忘记以前的训练数据吗?
- scala - 两个数据集连接后如何自动触发推断数据集?
- javascript - Amcharts4 从前端改变目的
- typescript - 添加交叉点会导致奇怪的错误
- flutter - 地区不支持错误,Apple Pay,国家:印度,Flutter
- python - 使用python列出来自Windows任务调度程序的所有任务
- html - 显示有什么问题:我的代码中的 inline-block
- typescript - TypeScript 错误:类型 '{ user: any; 上不存在属性 'length' 密码:任何;}'
- mongodb - 如何将限制传递给 Mongoose db.collection.deleteMany