gpt4 book ai didi

c# - AutoMapper - 条件映射

转载 作者:太空狗 更新时间:2023-10-30 00:16:43 28 4
gpt4 key购买 nike

我环顾四周,找不到我的问题的答案。我要做的是有条件地映射目标对象(不是字段/属性、对象)。换句话说,像这样:

public class Source
{
public int Id {get; set;}
public string Flag {get; set;}
}
public class Destination
{
public int Id {get; set;}
}

var sources = new List<Source>
{
new Source{Flag = "V", Id = 1},
new Source{Flag = "B", Id = 2}
};

var destinations = Mapper.Map<List<Source>, List<Destination>>(sources);

destinations.Count.ShouldEqual(1);
destinations[0].Id.ShouldEqual(2);

有谁知道如何配置类型映射?我正在寻找类似的东西:

Mapper.CreateMap<Source, Destination>()
.SkipIf(src => src.Flag != "B");

我只是在配置选项中没有看到任何似乎支持这一点的东西。任何帮助将非常感激!提前致谢。

最佳答案

据我所知,目前没有任何内置功能可以让您实现这一目标。不过,您可以执行以下操作:

var destinations = Mapper.Map<List<Source>, List<Destination>>(
sources.Where(source => source.Flag == "B")
);

关于c# - AutoMapper - 条件映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5805576/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com