Я пытаюсь добавить преобразование UTC ко всем датам вставки/получения с помощью Dapper. Сейчас все даты вставляются как локальные даты. После некоторых исследований я нашел способ сделать это с полученными значениями, реализовав TypeHandler следующим образом:
Код: Выделить всё
public class DateTimeHandler : SqlMapper.TypeHandler
{
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);
}
}
Проблема связана со вставкой, похоже, что SetValue никогда не вызывается. Какова цель метода SetValue? Как преобразовать все значения DateTime, переданные в SQL, с помощью dapper?
Подробнее здесь:
https://stackoverflow.com/questions/539 ... conversion