繁体   English   中英

Dapper多映射API splitOn参数错误 - 我没有使用MultiMapping

[英]Dapper Multi-mapping APIs splitOn param Error - I'm not using MultiMapping

我有一个项目,我与许多存储过程交互。 没有裸SQL选择。 我正在使用Dapper。 我们不会尝试使用任何MultiMapping功能。 我试图找出为什么这一个proc会返回该错误? 我该怎么检查? 我应该寻找什么?

错误:使用多映射API时,如果您具有Id \\ r \\ n \\ nParameter name以外的键,请确保设置splitOn参数:splitOn

您应该使用Execute()而不是Query(),因为您的SP不会返回任何记录。 Dapper假设您正在尝试获取数据,因此将缺少的结果映射到模型类。

我今天遇到了这个问题,并且无法理解为什么我在第一时间没有尝试多映射时收到MultiMapping错误消息。 我的代码使用dapper的Query而不是Execute,因为sproc实际上返回了一些行。

事实证明,在我的存储过程中,它接受一个varchar参数,如果param作为NULL传递,那么结果只是返回值整数0.如果它作为空字符串传递,我得到一个空的结果集在顶部正常返回值0。

因为我已经告诉Dapper使用Query<MyClass> ,所以它将null版本的普通0返回作为int,而不是MyClass ,并尝试使用Multimap,这是多图错误的来源。

为了解决这个问题,我更改了我的存储过程以将空参数转换为空字符串参数,从而确保空结果集而不是结果集,然后Dapper再次开始快乐工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM