将带有嵌套列表的 object 映射到目标列表的 Automapper 配置文件
Automapper profile to map object with nested list to destination list
很难表达标题中的问题。试图确定编写自动映射器配置文件以在两个 object 之间映射到列表中的最佳方法,但目标列表中的项目数将等于源 [=23] 上内部列表中的项目数=].请找到我所追求的示例:
public class Destination
{
public int Id { get; set; }
public string Description { get; set; }
public string Foo { get; set; }
public string Bar { get; set; }
}
public class Source
{
public int Id { get; set; }
public string Description { get; set; }
public List<FooBar> FooBar { get; set; }
}
public class FooBar
{
public string Foo { get; set; }
public string Bar { get; set; }
}
我想映射 Source -> List<Destination>
,其中 Destination
中的项目数等于 Source
中的 FooBar
的数量,但它们每个都有一个 Id
和 Description
来自 Source
.
.CreateMap<Source, List<Destination>>()
.ConvertUsing(source => source.FooBar.Select(fb => new Destination
{
Foo = fb.Foo,
Bar = fb.Bar,
Description = source.Description,
Id = source.Id
}).ToList()
)
很明显,这样用
var destination = mapper.Map<List<Destination>>(Source);
很难表达标题中的问题。试图确定编写自动映射器配置文件以在两个 object 之间映射到列表中的最佳方法,但目标列表中的项目数将等于源 [=23] 上内部列表中的项目数=].请找到我所追求的示例:
public class Destination
{
public int Id { get; set; }
public string Description { get; set; }
public string Foo { get; set; }
public string Bar { get; set; }
}
public class Source
{
public int Id { get; set; }
public string Description { get; set; }
public List<FooBar> FooBar { get; set; }
}
public class FooBar
{
public string Foo { get; set; }
public string Bar { get; set; }
}
我想映射 Source -> List<Destination>
,其中 Destination
中的项目数等于 Source
中的 FooBar
的数量,但它们每个都有一个 Id
和 Description
来自 Source
.
.CreateMap<Source, List<Destination>>()
.ConvertUsing(source => source.FooBar.Select(fb => new Destination
{
Foo = fb.Foo,
Bar = fb.Bar,
Description = source.Description,
Id = source.Id
}).ToList()
)
很明显,这样用
var destination = mapper.Map<List<Destination>>(Source);