实体框架 - SP返回值

时间:2016-10-13 19:18:18

标签: sql asp.net-mvc entity-framework

使用我的第一个mvc(5)asp.net Web应用程序。我正在使用数据实体框架。我有一个存储过程,' usp_EventInsert'它采用HevEventID,HemEmployeID和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(或HemEmployeID或HevEventDescriptionID)。例如,我试过:

var event = myDBcontext.usp_EventInsert(123,112345,"some description")

我期待在选择内部'事件中找到元素。但是当我尝试时,事件= -1。不仅事件中没有任何选择数据,它的值是-1(从我读取的SET NOCOUNT ON导致那个?),这对我来说似乎很奇怪,因为存储过程成功了(在表中插入新行。)

有关如何确保存储过程成功的任何建议?没有在桌子上做选择..

1 个答案:

答案 0 :(得分:1)

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

ORA-01722: invalid number on Entity Framework

确保您的存储过程正常工作并获得您想要的RETURN 对于Entity来说可能是一个绝招。我不会建议你这样做的任何确切的方法。但我强烈建议你阅读所有这些链接问题/答案:

using stored procedure in entity framework

Getting data from stored procedure with Entity Framework

Sql Stored proc and Entity framework 6

如果您使用我提供给您的方法之一找不到您的方法,请说明您使用过的方法有什么问题,我相信我们可以解决这个问题