相关疑难解决方法(0)

如何在AutoMapper中配置条件映射?

假设我有以下实体(类)

public class Target
{
    public string Value;
}


public class Source
{
    public string Value1;
    public string Value2;
}
Run Code Online (Sandbox Code Playgroud)

现在我想配置自动映射,如果Value1以"A"开头,则将Value1映射到Value,否则我想将Value2映射到Value.

这是我到目前为止:

Mapper
    .CreateMap<Source,Target>()
    .ForMember(t => t.Value, 
        o => 
            {
                o.Condition(s => 
                    s.Value1.StartsWith("A"));
                o.MapFrom(s => s.Value1);
                  <<***But then how do I supply the negative clause!?***>>
            })
Run Code Online (Sandbox Code Playgroud)

然而,我仍然不知道的部分是如果在早期条件失败时告诉AutoMapper 采取s.Value2措施.

在我看来,API的设计并不像它可能......但可能是我缺乏知识妨碍了.

c# lambda automapper automapper-2

40
推荐指数
2
解决办法
4万
查看次数

标签 统计

automapper ×1

automapper-2 ×1

c# ×1

lambda ×1