Sql 实体框架-SP返回值

Sql 实体框架-SP返回值,sql,asp.net-mvc,entity-framework,Sql,Asp.net Mvc,Entity Framework,正在开发我的第一个mvc(5)asp.net web应用程序。我使用的是数据实体框架。我有一个存储过程“usp_EventInsert”,它包含HevEventID、HemeployeId和HevEventDescription: @HevEventID int, @HemEmployeID int, @HevEventDescription varchar(150) SET NOCOUNT ON SET XACT_ABORT ON INSERT INTO [dbo].[RhEvent] (

正在开发我的第一个mvc(5)asp.net web应用程序。我使用的是数据实体框架。我有一个存储过程“usp_EventInsert”,它包含HevEventID、HemeployeId和HevEventDescription:

@HevEventID int,
@HemEmployeID int,
@HevEventDescription varchar(150)

SET NOCOUNT ON
SET XACT_ABORT ON

INSERT INTO [dbo].[RhEvent] ([HevEventID],[HemEmployeID],[HevEventDescription])
SELECT @HevEventID, @HemEmployeID, @HevEventDescriptionID
在我的代码中,我想在表中插入一个事件,并检查它是否成功。我这样称呼它,例如:

myDBcontext.usp_EventInsert(123,112345,"some description")
我希望在调用存储过程后能够获取HevEventID(或hemeployeid或heveventddescriptionid)。例如,我尝试:

var event = myDBcontext.usp_EventInsert(123,112345,"some description")
我希望在select INDER“事件”中找到元素。但是当我尝试这个时,event=-1。事件中不仅没有任何select数据,而且它的值是-1(从我所读的内容来看,SET NOCOUNT ON causes?),这对我来说似乎很奇怪,因为存储过程成功(将新行插入表中)


关于如何确保存储过程成功,有什么建议吗?没有在表格上进行选择..

就像我在前面的问题中回答的那样:

确保存储过程正常工作并从中获得所需的返回,这对于Entity来说是一个相当棘手的问题。我不会向你建议任何精确的方法。但我强烈建议您阅读所有这些链接问题/答案:


如果您还没有用我提供的方法解决问题,请解释您使用的方法的问题所在,我相信我们可以解决此问题。

请让您的SP返回错误的否定状态代码,如果成功,则返回插入的ID。您是否设法解决了问题?如果没有,我可以给你一个直接适合你问题的答案。