Dapper 处理返回空结果集
我们正在使用 Dapper 来映射我们的 sql 数据,到目前为止它运行得很好。我有一个案例,我们正在做类似的事情:
someObject = con.Query<T>("GetInfoSproc", p, commandType: CommandType.StoredProcedure).Single();
只要我调用的存储过程返回数据,这就很好。有时,存储过程可能不会返回结果并在输出参数中返回错误。 这似乎会在 Dapper 中引起问题,因为 dapper 会抛出错误:
“当使用多重映射 API 时,如果您有 Id 以外的键,请确保设置 splitOn 参数”
有没有办法编写查询,以便它可以正确处理返回空结果的情况,或者这是 Dapper 的限制吗?
We are using Dapper to map our sql data and so far it has worked very well. I have a case though where we are doing something similar to:
someObject = con.Query<T>("GetInfoSproc", p, commandType: CommandType.StoredProcedure).Single();
This works great as long as the stored procedure I'm calling returns data. There are times where the stored procedure might not return a result and return an error in a out parameter.
This seems to cause a problem in Dapper because dapper throws the error:
"When using the multi-mapping APIs ensure you set the splitOn param if you have keys other than Id"
Is there a way to write the query so it can properly handle the case when an empty result is returned or is this a limitation of Dapper?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
SingleOrDefault()
是你的朋友,试试这个:
你还需要确保
T
是Nullable
SingleOrDefault()
is your friend hereTry this:
also you'll need to make sure
T
isNullable