在实体框架中执行存储过程没有返回数据

本文关键字:返回 数据 存储过程 执行 实体 框架 | 更新日期: 2023-09-27 17:53:32

我在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中执行带有参数的查询时,它们是数据,但在实体框架中"状态"返回与从类型系统指定转换相关的东西。实体化到系统的字符串。Int32是无效的

我做错了什么?

在实体框架中执行存储过程没有返回数据

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

检查结果集中是否有空、空字符串和尾随空格

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

考虑不要对存储过程调用使用EF,而是使用ADO.Net。它有很好的文档,你遇到的任何问题都一定会被解决很多次。

ADO。Net使用存储过程