遇到此错误时,我试图获取存储过程执行的状态代码:
EntityFramework.SqlServer.dll中出现"System.Data.Entity.Core.EntityCommandExecutionException"类型的异常,但未在用户代码中处理
附加信息:数据读取器具有多个字段.多个字段对EDM原语或枚举类型无效.
我已经重写了程序,除了返回一个整数值之外什么都不做,这就是它现在的样子:
ALTER Procedure [dbo].[test]
(
@i int,
@a nvarchar(max),
@b nvarchar(max),
@c nvarchar(max),
@d nvarchar(max)
)
As
Begin
SET NOCOUNT ON
return 1
End
Run Code Online (Sandbox Code Playgroud)
但是在到达行的过程调用时,我仍然在运行时得到相同的错误:
this.Database.SqlQuery<int>("test @i, @a, @b, @c, @d", p_i, p_a, p_b, p_c, p_d).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)
反正有没有弄清楚这些领域是什么,它们来自哪里?我该如何获得返回值?
我试图指定一个两个字符串的元组作为T调查这些值,但没有成功......
更新:
Select 1不是return 1让函数可用,唯一的问题仍然是返回数据读取器的这些神秘字段是什么?