viv*_*una 3 c# dapper dapper-extensions
我必须调用参数为char
和 的存储过程VarBinary(MAX)
。我需要使用 Dapper 从 C# 代码调用此存储过程。但我找不到 dapper 支持的任何参数。
SP:
ALTER PROCEDURE [dbo].[uspTest]
, @Param1 CHAR(1)
, @Param2 VARBINARY(MAX)=null
Run Code Online (Sandbox Code Playgroud)
C#:
DynamicParameters parameter = new DynamicParameters();
parameter.Add("@Param1", email.SenderType, DbType.char, ParameterDirection.Input);
parameter.Add("@Param2", email.AttachedFileStream, DbType.varbinary, ParameterDirection.Input);
Run Code Online (Sandbox Code Playgroud)
编译错误:
DBType 不包含 char 和 varbinary 的定义
这个问题与 Dapper 没有任何关系,您正在尝试访问根本不存在的枚举成员。
枚举DbType
不包含名为char
或 的成员varbinary
。
代替char
使用AnsiStringFixedLength
和代替varbinary
使用Binary
。
另外,至少在第一个参数中,您还应该包含大小:
DynamicParameters parameter = new DynamicParameters();
parameter.Add("@Param1", email.SenderType, DbType.AnsiStringFixedLength, ParameterDirection.Input, 1);
parameter.Add("@Param2", email.AttachedFileStream, DbType.Binary, ParameterDirection.Input);
Run Code Online (Sandbox Code Playgroud)