我有一个存储过程,可以返回新的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:映射函数绑定说明符具有不支持的参数id的函数demoModel.Store.SaveContact。 输出参数只能通过RowsAffectedParameter属性进行映射。 使用结果绑定从函数调用中返回值。

在此处输入图片说明

这里有人可以看到我在做什么吗?

需要更多代码,请告诉我。

===============>>#1 票数:0 已采纳

使用上面的SQL删除id作为insert语句的参数。 它不需要。 要获取SCOPE_IDENTITY()您只需要在结果列绑定中映射它的newid

还要确保“结果列绑定”中的列名与存储过程返回的大小写相同。

资料来源: http : //blogs.msdn.com/b/adonet/archive/2008/03/26/stored-procedure-mapping.aspx

  ask by SteelSoft translate from so

未解决问题?本站智能推荐:

1回复

Crystal Reports使用存储过程返回“ DataSet不支持System.Nullable”

我在ASP.NET Web项目上显示Crystal Report时遇到问题。 这是我的“查看报告”按钮代码: 我正在使用Entity Framework,并且spBankTransactionsList存储过程返回正确的值。 我什至使用完全相同的存储过程将结果显示在GridView中
3回复

ASP.NET MVC EF使用Out参数调用MySQL存储过程

我正在使用Entity Framework ExecuteStoreQuery调用带有输出参数的MySql存储过程。 存储过程还返回结果集。 我收到以下错误。 例程mydb.mysp的OUT或INOUT参数2在触发器之前不是变量或NEW伪变量 怎么了? 有更好的方法来调用M
1回复

实体框架 - 映射不映射存储过程?

我有一个存储过程使用全文搜索视图。 我正在尝试将结果映射到现有的Entity( Sales ),在那里我将列MivType映射到SaleType (因为它更有意义,我想保持db名称远离我的网站)。 存储过程映射到Function Import,我已将其ReturnType定义为Sales
1回复

如何在EF7 beta8中执行存储过程?

我正在尝试在EF7 beta8中运行存储过程,以向我返回特定数据。 我正在尝试通过FromSQL命令执行此操作,但是不确定这是否正确。 在test 2工作并正确返回数据的地方,test1返回错误: 'FromSql'操作的结果中没有所需的列'Id'。 我假设我返回的数
2回复

在实体框架中映射选择存储过程

我的场景我正在使用带有Entity Framework 4.1的Visual Studio 2010我有一个包含许多表和许多存储过程的遗留数据库。 我正在使用MVC 3编写ASP.NET C#程序 我已经使用ADO.NET DbContext采用了“数据库优先”设计,所以我有一个edmx
3回复

使用EF6,我是否需要在存储过程中使用COMMIT和ROLLBACK?

我使用EF来调用这样的存储过程: 这些过程执行多次插入和更新。 我在TRY的末尾添加了一个TRY区域和一个COMMIT以及一个ROLLBACK(在一个CATCH内部)逻辑,但这给了我一个错误,我追溯到这个: Stackoverflow说明 如果情况是EF包装存储过程调用,那
2回复

在MVC中获取值多输出参数(存储过程)

我的存储过程: 当我在我的操作中调用此存储过程时,如何获取2个输出参数@prodId和@ProdCode ?
1回复

实体框架在调用存储过程时显示错误

在我的项目中,EF调用一个存储过程,如下所示。 它返回1或作用域标识。 在EF函数导入中,存储过程以返回类型十进制列出。 当存储过程返回范围标识时,一切正常。 但是当sp的条件满足时,ef会抛出错误为 商店数据提供者返回的数据读取器没有足够的列用于请求的查询。
1回复

当存储过程具有两个结果集时,实体框架功能导入

我有一个DBA编写的存储过程,我想将它映射到Entity Framework中的函数导入。 此存储过程返回两个结果集。 如何处理EF? 我是否需要让DBA编写两个存储过程,每个结果集一个? 或者EF是否能够处理这种情况? 提前致谢!
3回复

存储过程与脚手架[关闭]

我使用的是ASP.NET Core 1.0,网站很大(每小时约有5,000名访问者)。 我已多次阅读过存储过程非常快速和安全(就SQL注入而言)。 但代码首先EF如果这么容易,我想使用它,但CRUD方法是隐藏的。 在性能和安全性方面,使用Scuffolding和EF over SP的缺