我使用下面的存储过程在数据库中插入记录
db.Database.ExecuteSqlCommand("sp_insertNewRecord");
现在我想获得最后插入记录的ID。
由于某些原因我无法使用以下功能
db.TableName.Add(record);
db.SaveChanges();
所以请不要建议我使用它。
答案 0 :(得分:4)
在存储过程中创建一个输出变量,如
create procedure [dbo].[Procedurename] @returnVal int output
as
SET @returnVal = SCOPE_IDENTITY();
插入记录后,获取SCOPE_IDENTITY()
并将其设置为OUTPUT变量。
并在调用存储过程时获取实体框架中的id。
希望这有帮助!