1
我正在嘗試使用context.Database
來執行一個存儲過程,該過程插入一條記錄並返回該標識。我知道我的過程,使用輸出參數,選擇或返回,但我不能讓ExecuteSqlCommand
或SqlQuery<int>
返回身份。EF 4.1代碼優先:執行存儲過程並返回IDENT
使用帶有返回一個存儲過程,
INSERT INTO TableA (FieldA, FieldB)
RETURN SCOPE_IDENTITY
我看到SSMS
DECLARE @return_value int
EXEC @return_value = spInsertRecord
SELECT 'Return Value' = @return_value
的1010966
一個返回值,但沒有我在我的應用程序進行返回一個有效的值。
Int64 result = context.Database.ExecuteSqlCommand
總是返回3,我得到一個錯誤的鑄造用SqlQuery<int>
時參考小數。 我做了一個輸出參數的嘗試,但無法讓代碼正確執行,所以都集中在應用消費創建模型來代替包含在存儲邏輯的任何SELECT SCOPE_IDENTITY
或RETURN SCOPE_IDENTITY
短過程中,我願意爲返回Stored Proc和應用程序級別的值的所有建議。