我正在使用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>
但它给了我"Nullable object must have a value"。我也尝试过覆盖不可为空的属性:
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);
我还尝试使两个类中的类型都可以为空,但没有运气。还有其他想法吗?