我使用AutoMapper,我的模型(使用EntityFramework)需要DateTime属性,但我的POCO使用可以为空的日期时间。
当ItemModel.OtherDate.Year==1900
ItemPOCO.MyDate
应为null
时。
有什么方法可以将DateTime转换为具有不同属性名称的Nullable DateTime吗?
我试过这个,但它不起作用:Property 'Int32 Year' is not defined for type 'System.Nullable'1[System.DateTime]'
// Class Model (EntityFramework)
public class ItemModel{
public DateTime OtherDate { get; set; }
}
// POCO
public class ItemPOCO{
public DateTime? MyDate { get; set; }
}
// AutoMapper Profile
public class MappingProfile : Profile
{
public MappingProfile()
{
CreateMap<ItemModel, ItemPOCO>()
.ForMember(poco => poco.MyDate,
opt => opt.MapFrom(m => m.OtherDate.Year == 1900 ? null : new DateTime?(m.OtherDate)));
}
}
答案 0 :(得分:1)
AutoMapper 5.0.2中出现问题。我更新到5.1.1版本,它很好:)