NetMVC使用EF框架执行存储过程时,出现将varchar值转换成int值失败
谨做记录。
在数据库中建好的存储过程,想用EF框架中的SqlQuery<>()方法执行时,出现参数错误。
存储过程中定义的参数类型是int,传入int类型的参数时报错。这是因为自己定义的Sql脚本是nvarchar字符串类型,数据库执行时sql,接收到int类型参数,就想把前面的字符串类型转换为int类型,产生错误。

部分存储过程内容:


解决方法:
使用cast()聚合函数将参数转换为字符串类型;
或者先检查传入参数是否为数字,再决定是否继续处理。


浙公网安备 33010602011771号