实体框架,带返回类型的函数导入:无..返回int?

时间:2013-05-20 21:38:46

标签: entity-framework return-type

我已经在我的商店中添加了一个存储过程,它在我的模型中创建了一个函数导入,并且我将返回类型设置为无,因为存储过程仅执行插入或更新。

然而,生成的ObjectContext方法返回一个int,而不是void。当我执行此方法,并且它工作时,此值为-1。

这里发生了什么?

[编辑]

SPROC很简单,看起来像这样:

SET NOCOUNT ON 
UPDATE Notes SET vchType = @Type, iPriority=5 WHERE iNoteNumber = @NoteID

    DECLARE @return_value int

    EXEC    @return_value = [CNRD].[UpdateNoteType]
            @NoteID = 12345,
            @Type = N'REGULAR'

    SELECT  'Return Value' = @return_value
    ------------------------------------------
    [ Return Value ]
    0

以下是它的映射方式:

SPROC mapping function import generated method

1 个答案:

答案 0 :(得分:1)

非查询方法,请参见此处的备注:

http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.executenonquery.aspx

  

对于UPDATE,INSERT和DELETE语句,返回值为   受命令影响的行数。当a上存在触发器时   正在插入或更新的表,返回值包括数字   受插入或更新操作影响的行数和数字   受触发器或触发器影响的行数。对于所有其他类型的   语句,返回值为-1。如果发生回滚,则返回   值也是-1。