小巧玲珑和用户定义的数据库类型
问题描述:
比方说,我在数据库中的用户定义的数据类型: MySuperType
其在两份BIGINT属性(编号+代码)小巧玲珑和用户定义的数据库类型
而且我有一个存储过程,它发生在那些参数:
@MySuperType, @Price, @dateModified, etc...
现在在我的代码,我使用了Dapper这样的:
using (var connecion = new SqlConnection(_connectionString))
{
result = connection.Execute("SP_name",
new {mySuperType, price, date},
commandType: CommandType.StoredProcedure);
}
,但我不断收到错误
类型操作数冲突:Dapper无法将用户定义的类型:MySuperType从参数映射到存储过程。
更改存储过程或免去用户定义类型是不是一种选择
有没有人有一个想法,我能做些什么来映射类型和发送的参数(所有的)到存储过程?
答
的参数临屋的名称必须对应于程序所定义的参数:
using (var connecion = new SqlConnection(_connectionString))
{
result = connection.Execute("SP_name",
new {MySuperType = mySuperType, Price = price, dateModified = date},
commandType: CommandType.StoredProcedure);
}
小巧玲珑是壳体在2个方向的映射敏感(作为参数,并作为结果)。
如果您想避免指定参数的名称,请确保您在c#和存储过程中的变量中具有完全相同的名称。