TinyIntの大まかな変換

asp.net-mvc-3 c# dapper mvc-mini-profiler mysql

質問

私は、ミニプロファイラのために私自身のDatabaseStorageBaseを作成しようとしています。

private List<T> LoadFor<T>(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の符号付きの値が返されるようになっています。

http://forums.mysql.com/read.php?38,5524,5581#msg-5581

http://social.msdn.microsoft.com/Forums/br/adonetefx/thread/8b0949ba-03e8-4637-baa1-d2b4ff0771f0

したがって、解像度は単純にlevelのtinyintフィールドを変更し、unsigned tinyintへのexecuteTypeは正しい値(バイトへのキャスト)を返します。今私のmysqlstorage期待どおりに働いて..希望はサムにプルの要求を求めることができます:)



ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow