私はMVC4プロジェクトに取り組んでおり、KeyValueリストの値をnull許容のDateTimeに変換しようとしています。マッパーで次の行を使用しました(他のプロパティはたくさんあるので含めていません)
.ForMember(d => d.Deadline, m => m.ResolveUsing<DeadlineResolver>())
私のリゾルバは次のようになります。
public class DeadlineResolver : ValueResolver<Booking, DateTime?>
{
protected override DateTime? ResolveCore(Booking source, ResolutionResult resolutionResult)
{
KeyValue keyValue = source.KeyValues.FirstOrDefault(k => k.Key.KeyId == "DEADLINE");
return (keyValue != null) ? DateTime.Parse(keyValue.Value) : (DateTime?)null;
}
}
以下に示すように定義された期限の値は、nullとして返されることはなく、代わりにDateTime.MinDateとして返されます。結果をビューにバインドするときはnullにする必要があります。これにより、日付がある場合にのみ値が表示されます。
public DateTime? Deadline { get; set; }
マッピング後に値を調べて最小の日付を探してnullに設定せずにこれらの値をnullにするにはどうすればよいですか(コードが実行されるように設定した一時的なハック)?