私は同じ問題がありました。
private static IDbCommand SetupCommand(IDbConnection cnn, IDbTransaction transaction, string sql, Action<IDbCommand, object> paramReader, object obj, int? commandTimeout, CommandType? commandType)
{
var cmd = cnn.CreateCommand();
var bindByName = GetBindByName(cmd.GetType());
if (bindByName != null) bindByName(cmd, true);
if (transaction != null)
cmd.Transaction = transaction;
cmd.CommandText = sql;
if (commandTimeout.HasValue)
cmd.CommandTimeout = commandTimeout.Value;
if (commandType.HasValue)
cmd.CommandType = commandType.Value;
if (paramReader != null)
{
paramReader(cmd, obj);
}
//CODTEC SISTEMAS
foreach (System.Data.SqlServerCe.SqlCeParameter item in cmd.Parameters)
{
if (item.SqlDbType == System.Data.SqlDbType.VarBinary)
item.SqlDbType = System.Data.SqlDbType.Image;
}
//CODTEC SISTEMAS
return cmd;
}
をあなたはDapperのソース(http://code.google.com/p/dapper-dot-net/source/browse/Dapper/SqlMapper.cs)を見てみる場合は、可能性が次のように解決されました適切なSqlDbTypeを返す関数 "LookupDbType"に特殊なケースを追加します。しかし、何か別のものが壊れてしまったら、手がかりはありません。 – Alex
ありがとう! 私は静的なSqlMapperコンストラクタを変更し、次の行を変更すると思います:typeMap [typeof(byte [])] = DbType.Binary; – Sameera
ああ、それは痛みです。私はあなたがより良いものとしてバグとしてこれを記録するかもしれないと思う –