Entity framework 实体框架,函数导入,返回类型:无。。返回整数?
我在我的存储中添加了一个存储过程,它在我的模型中创建了一个函数导入,并且我将返回类型设置为None,因为存储过程只执行插入或更新 然而,生成的ObjectContext方法返回一个int,而不是void。当我执行这个方法时,它工作了,这个值是-1 这是怎么回事 [编辑] 存储过程很简单,如下所示:Entity framework 实体框架,函数导入,返回类型:无。。返回整数?,entity-framework,return-type,Entity Framework,Return Type,我在我的存储中添加了一个存储过程,它在我的模型中创建了一个函数导入,并且我将返回类型设置为None,因为存储过程只执行插入或更新 然而,生成的ObjectContext方法返回一个int,而不是void。当我执行这个方法时,它工作了,这个值是-1 这是怎么回事 [编辑] 存储过程很简单,如下所示: SET NOCOUNT ON UPDATE Notes SET vchType = @Type, iPriority=5 WHERE iNoteNumber = @NoteID 不应该返回任何内容
SET NOCOUNT ON
UPDATE Notes SET vchType = @Type, iPriority=5 WHERE iNoteNumber = @NoteID
不应该返回任何内容,如果我执行到一个变量中,我认为它应该是零,就像在SSMS中:
DECLARE @return_value int
EXEC @return_value = [CNRD].[UpdateNoteType]
@NoteID = 12345,
@Type = N'REGULAR'
SELECT 'Return Value' = @return_value
------------------------------------------
[ Return Value ]
0
以下是它的映射方式:
非查询方法,请参见此处的备注: 对于UPDATE、INSERT和DELETE语句,返回值为 受命令影响的行数。当触发器存在于 在插入或更新表时,返回值包括数字 受插入或更新操作和编号影响的行数 受一个或多个触发器影响的行数。对于所有其他类型的 语句,返回值为-1。如果发生回滚,则返回 值也为-1
你能展示一下代码,或者是你如何导入函数的屏幕截图吗?我会抓拍一些屏幕截图并编辑问题。这与EntityFramework无关。OP应该如何使用此方法?链接解释并引用“对于所有其他类型的语句,返回值为-1。如果发生回滚,返回值也为-1。”实体框架只是返回它从SP获得的值。因此我同意它与EF有关。EF被要求调用一个SP,SP很可能返回-1,当您询问“当我执行此方法时,它有效,此值为-1。”时,它似乎与我相关。请尝试帮助解释。好的。我认为你的回答不清楚。在EF中,当您导入SP时,您决定它应该返回什么。如果您选择
None
则无论SP实际返回的是什么,包装器EF都将返回void
。我不确定Jens的情况,因此这仍然是一个有效的问题。我只是觉得标准的SQL非查询命令结果最有可能是您的价值来源。我直接调用这些命令,而不是通过EF。