BETA

Dapperの型変換バグへの対応法

投稿日:2019-04-22
最終更新:2019-04-22

問題点

Dapper + SQLite 利用時に Double型 のカラムに整数値が入っていると、読み込み時にエラーが発生する。

解決策

以下のissueを参考にした(double?型の場合について記載している)

https://github.com/StackExchange/Dapper/issues/642#issuecomment-435277926

  • マッパークラス
using System;  
using System.Data;  
using Dapper;  

namespace Models.Dapper.Mapper{  
    public class DoubleConverter : SqlMapper.TypeHandler<double>{  
        public override Double Parse (Object value)  
        {  
            return Convert.ToDouble(value);  
        }  

        public override vold SetValue(IDbDataParameter parameter, double value){  
            parameter.Value = value;  
        }  
    }  
}  

利用時は、フォームのロードイベントなど、一番最初の部分に以下の一文を記述する。
Dapperマッパークラス ネームスペースusingするのを忘れないこと

SqlMapper.AddTypeHandler(New DoubleConverter())  
技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

@maccyoの技術ブログ(予定) C#/VB.NET/Kotlin/Delphi

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう