我在SQL Server中有一个存储过程,此过程返回带有数据的结果集,或 错误信息。
我有一个视图模型,存储过程在结果集中检索的字段,我正在执行下一条指令的过程
IEnumerable<StateVM> states= context.Database.SqlQuery<StateVM>(
"Calculate_State_1 {0}, {1}, {2}, {3}, {4}, {5}, {6}",
_from, _to, 8, 'Type1, Id1, Id2, StrError);
当我使用SQL中的参数执行查询时,它们是数据,但在实体框架中“状态”返回与指定的转换相关的内容,类型为System.String,实现为System.Int32无效。
我做错了什么?
答案 0 :(得分:0)
您没有准确地发布您的错误消息,但似乎您的过程导致文本输入为StateVM类中的整数和整数,因此EF无法执行此转换。
检查结果集中的空值,空字符串和尾随空格
答案 1 :(得分:-1)
您应该能够像执行表一样使用存储过程,并像方法调用一样执行它们。
答案 2 :(得分:-1)
考虑不要将EF用于存储过程调用,而是使用ADO.Net。它有很好的记录,你遇到的任何问题都必须多次解决。