Emit Mapper "Обнуляемый объект должен иметь значение"
Я использую Emit Mapper для копирования полей из InternalClass в ExternalClass.
public class InternalClass {
public int? Id { get; set; }
public DateTime? RecordDate {get; set;}
}
public class ExternalClass {
public int Id { get; set; }
public DateTime RecordDate {get; set;}
}
Я использую следующий код для преобразования списка в список.
ObjectMapperManager.DefaultInstance.GetMapper<InternalClass, ExternalClass>(
new DefaultMapConfig()).Map(list); // list = List<InternalClass>
Но это дает мне "Обнуляемый объект должен иметь значение". Я также попытался переопределить ненулевые свойства:
ObjectMapperManager.DefaultInstance
.GetMapper<List<InternalClass>, List<ExternalClass>>(
new DefaultMapConfig()
.NullSubstitution<int?, int>(delegate { return default(int); })
.NullSubstitution<DateTime?, DateTime>(delegate { return default(DateTime); })
).Map(source);
Я также попытался сделать типы в обоих классах обнуляемыми, но безуспешно. Есть другие идеи?