Вы можете использовать ConvertUsing()
для записи CreateMap()
для типа DateTime
. Код может выглядеть так:
cfg.CreateMap<DateTime, DateTime>().ConvertUsing((s, d) => {
return DateTime.SpecifyKind(s, DateTimeKind.Utc);
});
Проверьте следующий пример кода:
class TestDTO {
public DateTime SomeProp {get; set;}
}
class Program
{
static void Main(string[] args)
{
var config = new MapperConfiguration(cfg => {
cfg.CreateMap<TestDTO, TestDTO>();
cfg.CreateMap<DateTime, DateTime>().ConvertUsing((s, d) => {
return DateTime.SpecifyKind(s, DateTimeKind.Utc);
});
});
TestDTO dto = new TestDTO {
SomeProp = DateTime.Today
};
var mapper = new Mapper(config);
DateTime now = dto.SomeProp;
Console.WriteLine($"{now} - {now.Kind}");
TestDTO changed = mapper.Map<TestDTO>(dto);
DateTime nowWithKind = changed.SomeProp;
Console.WriteLine($"{nowWithKind} - {nowWithKind.Kind}");
}
}
Это даст следующий результат:
6/16/2020 12:00:00 AM - Local
6/16/2020 12:00:00 AM - Utc