У меня есть следующие классы C#
Код: Выделить всё
public class ApiRequest{
public int? FwVersion { get; set; }
public int? OsVersion { get; set; }
public int PageSize { get; set; }
public string Owner { get; set; } = String.Empty;
}
Код: Выделить всё
public class DbRequest {
public int PageSize { get; set; }
public string Owner { get; set; } = String.Empty;
public int FwVersion { get; set; }
public bool FwVersionSpecified { get; set; }
public int OsVersion { get; set; }
public bool OsVersionSpecified { get; set; }
}
Для каждого свойства, допускающего значение NULL, в моем ApiRequest существует свойство, не допускающее значение NULL, в классе DbRequest и другое логическое значение. свойство с тем же именем и «SpecifiedSuffix». Я заполняю свойство, не допускающее значения NULL, используя
Код: Выделить всё
GetValueOrDefault()
Код: Выделить всё
public class MappingConfiguration : Profile
{
public MappingConfiguration()
{
// Fix mappings
CreateMap()
.ForMember(dst => dst.FwVersion, opt => opt.MapFrom(
src => src.FwVersion.GetValueOrDefault()
))
.ForMember(dst => dst.FwVersionSpecified, opt => opt.MapFrom(
src => src.FwVersion.HasValue
))
.ForMember(dst => dst.OsVersion, opt => opt.MapFrom(src => src.OsVersion.GetValueOrDefault()))
.ForMember(dst => dst.OsVersionSpecified, opt => opt.MapFrom(src => src.OsVersion.HasValue));
}
}
Подробнее здесь: https://stackoverflow.com/questions/790 ... properties