roc*_*cco 5 c# stored-procedures dapper
我目前在我们的一个项目上使用dapper,我们一直在执行存储过程。在前几种方法中,当我们执行的存储过程返回行时,一切工作都很好。
现在,当我尝试从存储过程中获取数据时发现一个问题,该存储过程返回信息。这是一个非常常见的用例(例如,在应用程序上登录用户)。当调用该Query方法时,并且sproc不返回任何行时,dapper会引发ArgumentException以下消息:
“使用多重映射API时,如果您具有Id参数名称之外的其他键,请确保设置splitOn参数:splitOn”
我使用的代码是:
using (var conn = new SqlConnection(connString))
{
conn.Open();
return conn.Query<Customer>(
sql: "prc_GetCustomer",
param: new { Parameter = p },
commandType: CommandType.StoredProcedure).FirstOrDefault();
}
Run Code Online (Sandbox Code Playgroud)
我知道Execute当该过程不返回任何行但实际上不是我的情况时,应该使用一种方法。另外,dapper异常会引起误解,因为我没有使用多重映射。
有任何想法吗?谢谢!