0

dapper 拡張機能 (SqlMapperExtensions.cs) を使用しています。

単純な挿入を行う場合:

db.Insert<Student>(student);

例外があります:

Object of type 'System.Int32' cannot be converted to type 'System.Int16'.

データベースの Id タイプは SmallInt です。
POCO の Id タイプは Short です。

Catch ブロックでブレークポイントを設定すると、データが正常にデータベースに保持されていることがわかります。問題は、メソッドが戻ってきて、作成された新しい Id を POCO に設定しようとしたときのようです。

POCO の Id タイプを Intに変更すると、機能します。

これはバグですか?私は何が欠けていますか?

4

2 に答える 2

0

最新の Dapper Contrib コードは、挿入用の short/Int16 ID プロパティをサポートするようになりました。nuget パッケージはまだ更新されていませんが (6 月 7 日から 15 日まで)、まもなく更新されます。

于 2015-06-07T19:00:51.623 に答える