簡體   English   中英

不能使用 AutoMapper 映射到空值

[英]Can't use AutoMapper to map to null value

public class TestNullableString {
    public string? Test;

    public TestNullableString(string? test) {
        Test = test;
    }
}

public class TestNonNullableString {
    public string Test;
}

public class TestProfile : Profile
{
    public TestProfile() {
        CreateMap<TestNonNullableString, TestNullableString>
             .ForMember(dest => dest.Test, opt => {
                 opt.AllowNull();
                 opt.MapFrom(src => src.Test == "" ? null : src.Test);
              });
    }
}

如果我嘗試從 NonNullableString 映射到 NullableString,它仍然在映射時給我空字符串。 它不會給我一個空值,即使 NonNullableString 是“”。 我究竟做錯了什么?

我正在使用 AutoMapper 9.0.0。

附注。 我也試過將 AllowNullDestinationValues 設置為 true 沒有任何成功。

CreateMap<TestNonNullableString, TestNullableString>()
            .ForMember(dest => dest.Test,
                opt => { opt.MapFrom(src => string.IsNullOrWhiteSpace(src.Test) ? null : src.Test); })
            .ConstructUsing(x => new TestNullableString(string.IsNullOrWhiteSpace(x.Test) ? null: x.Test ));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM