10

我们正在使用 Dapper 来映射我们的 sql 数据,到目前为止它运行良好。我有一个案例,但我们正在做类似的事情:

someObject = con.Query<T>("GetInfoSproc", p, commandType: CommandType.StoredProcedure).Single();

只要我调用的存储过程返回数据,这就会很好。有时存储过程可能不会返回结果并在 out 参数中返回错误。这似乎会导致 Dapper 出现问题,因为 dapper 会抛出错误:

“使用多映射 API 时,如果您的密钥不是 Id,请确保设置 splitOn 参数”

有没有办法编写查询,以便它可以正确处理返回空结果时的情况,或者这是 Dapper 的限制?

4

1 回答 1

6

SingleOrDefault()你的朋友在这里吗

尝试这个:

someObject = con.Query<T>("GetInfoSproc", p, commandType: CommandType.StoredProcedure).SingleOrDefault();
if (someObject != null)
{
  // operate on your results here
}
return someObject;

你还需要确保TNullable

于 2017-05-26T15:49:43.730 回答