Skip to content

Dapper+SQLiteで検索した際、型変換がうまくいかずDataExceptionが発生する問題の対処法

Notifications You must be signed in to change notification settings

currysita/DapperCastErrorSample

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DapperCastErrorSample

このサンプルは、Dapper+SQLiteで検索した際に、double?型への変換に失敗した時の対処法を記載した物です。
以下のURLで触れられています。

https://qrunch.net/@maccyo/entries/toOHtxzaj3Dy4QEp DapperLib/Dapper#642 (comment)

自動的な型変換がうまく行かない時には大体この方法でうまくいくはずです。
以下の行をコメントアウトしてあります。

SqlMapper.AddTypeHandler(typeof(System.Double),new DoubleConverter());

このまま実行すると、以下のような例外が発生します。

Unhandled Exception: System.Data.DataException: Error parsing column 1 (Column2=36 - Double) ---> System.InvalidCastException: Unable to cast object of type 'System.Double' to type 'System.Int32'.

コメントを解除すれば、正常に実行できるはずです。 ちなみにSQLを修正して最後のorder by column2 IS NULL DESCorder by column2 IS NULL ASC にすると、なぜかエラーが発生しません。 詳細な理由は不明ですが、対処法だけ記載しておきます。

About

Dapper+SQLiteで検索した際、型変換がうまくいかずDataExceptionが発生する問題の対処法

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages