我有一个存储过程,我返回新的ID号。代码如下所示:
ALTER PROCEDURE [dbo]. [Save Contact]
@FirstName varchar (50),
@LastName varchar (50),
@Email varchar (50)
AS
BEGIN
- SET NOCOUNT ON added to Prevent extra result sets from
- Interfering with SELECT statements.
SET NOCOUNT ON;
INSERT INTO Contacts (FirstName, LastName, Email)
VALUES (@FirstName, @LastName, @Email)
SELECT SCOPE_IDENTITY() as newid
END
当我尝试映射存储过程时,出现以下错误:
错误1错误2047:映射函数绑定说明符函数demoModel.Store.SaveContact,其参数不受支持:id。输出参数只能通过RowsAffectedParameter属性进行映射。使用结果绑定从函数调用返回值。
这里有谁能看到我做错了什么?
需要更多代码,请与我们联系。
答案 0 :(得分:0)
使用上面的SQL删除id
作为insert语句的参数。它不需要。要获得SCOPE_IDENTITY()
,您只需要在结果列绑定中映射newid
。
还要确保Result Column Bindings中的列名与存储过程返回的情况相同。
来源:http://blogs.msdn.com/b/adonet/archive/2008/03/26/stored-procedure-mapping.aspx