几天来,我一直在使用 AutoMapper,但是对于对我来说似乎是基本任务的映射值,我遇到了最困难的时间。我很可能是一个愚蠢的人,但是对于所有这些不断抛出的异常,它开始变得非常令人沮丧。/咆哮
无论如何,我有一个实体框架代理对象Company
。通过一个基类Entity
,它有一个名为CreatedDateTime
which is a的属性DateTime
。我还有一个名为 的 DTO 对象CompanyDto
,它有一个名为 的CreatedDateTime
属性string
。我想做的就是DateTime
取值并将其展平为ToString("g")
. 我尝试了很多东西,所有这些都抛出了某种异常。唯一有效的映射是,惊喜,惊喜:.Ignore()
. 这是我对 TypeConverter 的最新尝试:
Mapper.CreateMap<DateTime, string>().ConvertUsing<DateTimeToStringConverter>();
public sealed class DateTimeToStringConverter : TypeConverter<DateTime, string> {
protected override string ConvertCore(
DateTime source) {
if (source != null) {
return source.ToString("g");
}
return string.Empty;
}
}
这导致了这个:类型'System.String'没有默认构造函数
吉米,你在浏览吗?请指出正确的方向,因为在这一点上,我认为通过手动映射比使用 AutoMapper 完成更多的工作。
哦,对于那些想知道的人来说,这是 AutoMapper 3.1.1、Entity Framework 6.1、ASP.NET MVC 5.1.1。