NetMVC使用EF框架执行存储过程时,出现将varchar值转换成int值失败

谨做记录。

在数据库中建好的存储过程,想用EF框架中的SqlQuery<>()方法执行时,出现参数错误。

存储过程中定义的参数类型是int,传入int类型的参数时报错。这是因为自己定义的Sql脚本是nvarchar字符串类型,数据库执行时sql,接收到int类型参数,就想把前面的字符串类型转换为int类型,产生错误。

部分存储过程内容:

 

解决方法:

使用cast()聚合函数将参数转换为字符串类型;

或者先检查传入参数是否为数字,再决定是否继续处理。

 

 

posted @ 2020-07-08 17:10  叶叶叶失秋  阅读(240)  评论(0)    收藏  举报