Итак, у нас есть ситуация, когда мы отображаем, скажем, ThingDto
:
public class ThingDto {
public string FirstName { get; set; }
public string LastName { get; set; }
public Guid? SomeNiceId { get; set; }
}
и, конечно, - станцию назначения Thing
:
public class Thing {
public string FirstName { get; set; }
public string LastName { get; set; }
public Guid? SomeNiceId { get; set; }
}
Счто в нашем контексте, вот ситуация, которую я пытаюсь решить: у нас есть DTO как часть публичной библиотеки «контрактов», которую любое внешнее решение может использовать для отправки нам данных.В большинстве случаев, когда мы хотим использовать AutoMapper
для сопоставления объекта ThingDto
с объектом Thing
, все выглядит превосходно.По умолчанию значения null
на ThingDto
будут «обнулять» все, что не равно нулю на объекте Thing
.
Однако у нас есть ситуация, когда нам нужен null
значения на исходном элементе (ThingDto
) просто не отображаются на целевой объект Thing
.Мы можем сделать это с Condition
в настройке, но проблема в том, что мы хотим сделать это только иногда .Есть ли настройка времени выполнения, которую мы можем установить, когда звоним AutoMapper.Map<ThingDto, Thing>(thingDto, thing);
?
Это кажется чем-то, что могло бы стать проблемой и для других, но независимо от того, что я делаю, я ничего не могу найтив теме.Должен быть какой-то способ сказать AutoMapper
на лету, что мы не хотим отображать нули, но я ничего не придумаю.
Любая помощь будет принята с благодарностью.