我有一個插入到表中的存儲過程,然後執行此行實體框架和SCOPE_IDENTITY
SET @returnVal = SCOPE_IDENTITY();
之後,我都試過:
SELECT @returnVal
和
return @returnVal
當我從Microsoft SQL Server Management Studio執行存儲過程時,我得到預期的結果SELECT @returnVal
- 選擇插入數據的標識列。
但是,當我將存儲過程添加到我的ADO.Net實體數據模型/ EntityFramework類/ .edmx類並在我的C#代碼中執行存儲過程時,我得到的值-1返回時沒有失敗。
是否有可能獲得我想要的值,新的標識值返回?
我意識到我可以手動將存儲過程綁定到我的模型中表的插入動作 - 但這不是一個選項。每次重新生成我的模型類時,都有太多插入過程來完成這個手動工作。
可能的重複[從插入SQL Server獲取SCOPE \ _IDENTITY](http://stackoverflow.com/questions/4918574/getting-scope-identity-from-sql-server-on-insert) – Grax
您使用ExecuteNonQuery當你應該使用ExecuteScalar? – Grax
和執行代碼是?NonQuery任何機會 –