ClickHouse.Client icon indicating copy to clipboard operation
ClickHouse.Client copied to clipboard

SqlMapper.TypeHandler not working

Open mbtolou opened this issue 4 years ago • 2 comments

Hi cannot convert datetime to another type.


public class PersianDateTimeHandler : SqlMapper.TypeHandler<PersianDateTime>
  {
    public static readonly PersianDateTimeHandler Default = new PersianDateTimeHandler();

    public override void SetValue(IDbDataParameter parameter, PersianDateTime value)
    {
      parameter.Value = value.ToDateTime();
    }

    public override PersianDateTime Parse(object value)
    {
      return ((DateTime)value).ToPD();
    }
  }

      SqlMapper.AddTypeHandler(PersianDateTimeHandler.Default);

      SqlMapper.AddTypeMap(typeof(PersianDateTime), DbType.DateTime);
      SqlMapper.AddTypeMap(typeof(PersianDateTime?), DbType.DateTime);
      SqlMapper.AddTypeMap(typeof(PersianDateTime), DbType.DateTime2);
      SqlMapper.AddTypeMap(typeof(PersianDateTime?), DbType.DateTime2);
      SqlMapper.AddTypeMap(typeof(PersianDateTime), DbType.DateTimeOffset);
      SqlMapper.AddTypeMap(typeof(PersianDateTime?), DbType.DateTimeOffset);

mbtolou avatar Nov 15 '21 05:11 mbtolou

This sounds more like a question to Dapper developers?

DarkWanderer avatar Nov 24 '21 09:11 DarkWanderer

in your driver does not work .

in other driver like postgres work correctly.

mbtolou avatar Nov 24 '21 10:11 mbtolou