关于PetaPoco执行存储过程遇到的问题说明及解决办法

问题说明

今天,开发某个接口时,考虑使用存储过程,ORM用的PetaPoco,数据库用的是Sql Server。

List<Item> list =  Record<TableName>.repo.Query<Item>("exec proc_result").ToList();

执行发现一直报错,单独在数据库执行exec proc_result一切正常,很费解。

通过断点分析发现,最终执行的语句不仅仅是exec proc_result,前面还有select *** from *之类的,两者拼接起来的sql肯定报错。

解决办法

网上找了很多资料,确信PetaPoco执行sql存储过程是没有问题的。

最后,修改了执行语句解决了问题。最终执行语句如下:

List<Item> list =  Record<TableName>.repo.Query<Item>("execute proc_result").ToList();

差别就是exec和execute,虽然Sql Server执行exec没有问题,但是PetaPoco不识别,只认execute

posted @ 2021-12-21 12:02  薄心之心  阅读(182)  评论(0编辑  收藏  举报