私はasp.netコア2.0プロジェクトでAutomapper(DI経由)を使用しています。文字列変換のAutomapper日付が正しく動作しない
私のビューモデルにはエンティティモデルのDateTimeプロパティにマップする文字列のdateプロパティがあります。
文字列のグローバルマッピングプロファイルをDateTimeに指定したくないので、プロパティごとに指定します。
これが私のマッピングプロファイルです:
CreateMap<JobDetailViewModel, JobDetail>()
.ForMember(x => x.StartDate, opt => opt.MapFrom(s => Convert.ToDateTime(s.StartDate)))
.ForMember(x => x.EndDate, opt => opt.MapFrom(s => Convert.ToDateTime(s.EndDate)));
これは例外を生成します。
文字列は有効な日時として認識されませんでした。
私はカットしConvert.ToDateTime(dateString)
を実行しているコンソールアプリに自分の正確な文字列を貼り付け、それが正常に動作しているので、私はこれは私がマッピングを定義した方法をwhith問題でなければならないと思います。
私も試してみました:
CreateMap<JobDetailViewModel, JobDetail>()
.ForMember(x => x.StartDate, opt => opt.ResolveUsing(s => { return Convert.ToDateTime(s.StartDate); }))
.ForMember(x => x.EndDate, opt => opt.ResolveUsing(s => { return Convert.ToDateTime(s.EndDate); }));
をしかし、それは全く動作しませんでした。
私には何が欠けていますか?
米国のプロダクションサーバーをコーディングしていますが、私のローカルヨーロッパの設定が使用されていたと思います。 ParseExact()は適切な解決策です。どうもありがとうございました – Guerrilla