質問: 私は、ミニプロファイラのために私自身のDatabaseStorageBaseを作成しようとしています。 ``` private List LoadFor(DbConnection conn, object idParameter) ``` 方法。 Dapperは私に叫んでいる ``` Error parsing column 5 (level=0 - SByte) ``` 私は`tinyint(4)`としてレベルを保存しているので、dapperはTiny IntからEnum( `ProfileLevel` )のようなものに変換できないと仮定していますか?誰かが私の変換苦境を解決できるように、私はどのようにレベルをmysqlに保存すべきかを提案できますか?
回答: ワオ。どのようなクールなインシデント、私もminiprofilerのための自分のmysqlstorageを実装して、あなたと同様のエラーが発生します。 miniprofilerは、このプロパティのtinyintデータ型を使用して、MiniProfiler.LevelおよびSqlTiming.ExecuteTypeの列として列挙型を使用します。バイトの代わりにSbyteを返すことを示す無効なキャストを返します。これはmysqlのこの動作のデフォルトの動作で、tinyintの符号付きの値が返されるようになっています。 したがって、解像度は単純にlevelのtinyintフィールドを変更し、unsigned tinyintへのexecuteTypeは正しい値(バイトへのキャスト)を返します。今私のmysqlstorage期待どおりに働いて..希望はサムにプルの要求を求めることができます:)