Stored procedures 从物化的“System.Byte”类型到可为null的“System.Int16”类型的指定强制转换无效

Stored procedures 从物化的“System.Byte”类型到可为null的“System.Int16”类型的指定强制转换无效,stored-procedures,entity-framework-6,ef-database-first,Stored Procedures,Entity Framework 6,Ef Database First,我在IIS上运行了一个WCF服务,该服务调用实体框架进行多次调用。在一个调用中,我有3个必须作为一个单元运行的存储过程,因此我将它们放在事务范围中。在存储的过程中,有4个参数列为tinyint,但其中3个在函数导入中转换为byte,而另一个转换为int32。一切编译都正确,但在尝试运行时失败,出现以下错误: 指定的从物化的“System.Byte”类型转换为 可为Null的“System.Int16”类型无效 我已尝试在函数导入中将字节更改为int16,但随后我的代码将无法编译,因为它声称它需要

我在IIS上运行了一个WCF服务,该服务调用实体框架进行多次调用。在一个调用中,我有3个必须作为一个单元运行的存储过程,因此我将它们放在事务范围中。在存储的过程中,有4个参数列为tinyint,但其中3个在函数导入中转换为byte,而另一个转换为int32。一切编译都正确,但在尝试运行时失败,出现以下错误:

指定的从物化的“System.Byte”类型转换为 可为Null的“System.Int16”类型无效

我已尝试在函数导入中将字节更改为int16,但随后我的代码将无法编译,因为它声称它需要一个字节

根据这里的几条评论,我已经将我的服务更改为单线程并发模式。还有其他建议吗?我已经为此奋斗了太多小时了


提前谢谢

这将有助于了解您到底是如何更改代码的。我通过在“属性”窗口中选择适当的参数并更改其类型,通过模型浏览器编辑了函数导入。我是否最好使用EntityCommand和此存储过程,而不是使用函数导入和DbContext?