Я пытаюсь добавить конверсию "UTC" во все мои введенные / извлеченные даты с помощью Dapper.Прямо сейчас все даты вставлены как локальные даты.После некоторого исследования я нашел способ сделать это с полученными значениями, реализовав TypeHandler
следующим образом:
public class DateTimeHandler : SqlMapper.TypeHandler<DateTime>
{
public override void SetValue(IDbDataParameter parameter, DateTime value)
{
parameter.Value = DateTime.SpecifyKind(value, DateTimeKind.Utc);
}
public override DateTime Parse(object value)
{
return DateTime.SpecifyKind((DateTime)value, DateTimeKind.Utc);
}
}
Проблема в Insertion, похоже, что SetValue
никогда не вызывается.Какова цель метода SetValue
?Как преобразовать все значения DateTime, переданные в SQL с помощью dapper?