实体框架中的执行存储过程不返回数据

时间:2014-03-26 16:44:53

标签: c# sql-server entity-framework stored-procedures

我在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无效。

我做错了什么?

3 个答案:

答案 0 :(得分:0)

您没有准确地发布您的错误消息,但似乎您的过程导致文本输入为StateVM类中的整数和整数,因此EF无法执行此转换。

检查结果集中的空值,空字符串和尾随空格

答案 1 :(得分:-1)

您应该能够像执行表一样使用存储过程,并像方法调用一样执行它们。

答案 2 :(得分:-1)

考虑不要将EF用于存储过程调用,而是使用ADO.Net。它有很好的记录,你遇到的任何问题都必须多次解决。

ADO.Net Using Stored Procedures