我一直在尋找答案,找不到它,真的很奇怪。C#LINQ ObjectParameter將STP輸出轉換爲SQL數據類型
我有SQL作爲smallint返回輸出參數的存儲過程。
ALTER PROCEDURE [STP_NAME]
@Out_Error_Level Smallint OUTPUT
SELECT @Out_Error_Level = 0
很簡單,當我通過SQL管理工作室執行完美的作品。
現在有什麼奇怪的是,當我執行通過C#鏈接我得到'Bigint'。 C#代碼也很簡單:
DS_RAS_CD_APPEntities2 db = new DS_RAS_CD_APPEntities2();
ObjectParameter outputError = new ObjectParameter("Out_Error_Level", SqlDbType.SmallInt);
var updateProcessesList2 = db.STP_NAME(outputError);
Console.WriteLine(outputError.Value);
現在,當我在sql中將輸出更改爲不同的數字時,我得到某種數據類型,例如:1返回二進制,2返回位,3返回Char,10返回Nchar。
它結束時我設置@Out_Error_Level = 35,則結果爲35.
任何幫助?
謝謝你,這麼簡單。 – Orenger