0
タイプlong
をタイプDateTime
にマップすることは可能ですか?私は別のフィールドを持つ2つのクラスを持っている:Automapper- map to long to DateTime c#
ファーストクラス:
public class Task
{
public int id_task { get; set; }
public string state{ get; set; }
public long date_prev { get; set; }
public long date_last { get; set; }
}
セカンドクラス:
私は2番目のクラスに最初のクラスをマッピングしたいpublic class TaskDTO
{
public int id_task { get; set; }
public string state{ get; set; }
public DateTime date_prev { get; set; }
public DateTime date_last { get; set; }
}
:
public HttpResponseMessage PostTask(Task task)
{
Mapper.Initialize(cfg =>
{
cfg.CreateMap<long, DateTime>().ConvertUsing(new DateTimeTypeConverter());
cfg.CreateMap<Task, TaskDTO>()
.ForMember(dest => dest.date_prev, opt => opt.MapFrom(src => new DateTime(task.date_prev)));
});
TaskDTO taskDTO = Mapper.Map<Task,TaskDTO>(task);
/*...*/
}
しかし、私のアプリケーションを実行すると、私はAutoMapperのエラーを受け取る:
"ExceptionMessage":、 "ExceptionType" " '日時' から 'Int64型' からの変換が有効ではありません。": "System.InvalidCastExceptionの"、
任意のアイデア?どうもありがとう!
あなたのapiが起動したときに、毎回あなたのマッパーを初期化する必要があります。 – Jamiec
うん、わかっている。しかし、私はちょうどオートマトンを追加しようとしています、これは最終バージョンではありません:) – Aw3same
https://github.com/AutoMapper/AutoMapper/wiki/Custom-type-convertersで何が問題なのですこれは最初のことですオートマトンのタイプを入力するときにGoogleで見つける... –