慕田峪9158850
TA貢獻(xiàn)1794條經(jīng)驗(yàn) 獲得超7個(gè)贊
EF Code First似乎對(duì)存儲(chǔ)過程的支持不是很好,執(zhí)行存儲(chǔ)過程,一般會(huì)通過將DbContext轉(zhuǎn)換為ObjectContext,再調(diào)用他的ExecuteFunction重載方法,但這些重載只能返回查詢結(jié)果(表格的那種多行記錄),或者返回受影響的行數(shù),ExecuteFunction重載方法中有一些可以傳入?yún)?shù),但參數(shù)是ObjectParameter,這個(gè)類型的參數(shù)不支持想SQLParameter的Direction那樣的參數(shù)類型設(shè)置。所以我覺得要執(zhí)行返回值的話只能通過dbContext.Database.Connection(DbConnection實(shí)例)來執(zhí)行,或者將就是通過dbContext.Database.ExecuteCommand重載方法間接執(zhí)行存儲(chǔ)過程語句:
declare @result int;
exec @result=sp_procedure 參數(shù)
select @result as '存儲(chǔ)過程返回值'
查看完整回答