我在我的MVC項目中使用EF。在我的項目中,我需要使用存儲過程。我的問題是使用存儲過程的輸出參數。我不知道該怎麼做實體框架輸出參數
Q
實體框架輸出參數
18
A
回答
30
當你創建你的實體模型時,你應該確保你包含存儲過程。然後,爲他們創造函數導入:
- 在Visual Studio中打開你的實體模型
- 模型瀏覽器應在屏幕
- 在模型瀏覽器的右側打開,您需要選擇存儲程序並單擊添加功能導入爲存儲過程創建功能。
- 一個對話框,將打開選擇存儲過程和返回類型
就是這樣。現在你可以在代碼中使用它。
using (MyEntities myContext = new MyEntities())
{
System.Data.Objects.ObjectParameter output = new System.Data.Objects.ObjectParameter("OutputParameterName", typeof(int));
myContext.GetCustomerCount(output);
Console.WriteLine(output.Value);
}
10
的實體框架6.x的修正的應答/ VS 2015年 - 注意到命名空間變化:
using (MyEntities myContext = new MyEntities())
{
System.Data.Entity.Core.Objects.ObjectParameter output = new System.Data.Entity.Core.Objects.ObjectParameter("OutputParameterName", typeof(int));
myContext.GetCustomerCount(output);
Console.WriteLine(output.Value);
}
0
下面是使用實體框架,這樣做的另一種方式
YourDB db = new YourDB();
public double GetCategoryYearly(double Param1, double Param2, double Param3)
{
System.Data.Entity.Core.Objects.ObjectParameter OutputParam = new System.Data.Entity.Core.Objects.ObjectParameter("SPOutputParam", typeof(double));
var objStoredProc = db.YourStoredProc(Param1, Param2, Param3, OutputParam).First();
return Convert.ToDouble(OutputParam.Value);
}
相關問題
- 1. 實體框架6和輸出參數
- 2. 我不能得到的輸出參數時,由實體框架
- 3. 實體框架:從存儲過程映射輸出參數?
- 4. 實體框架4.1 T4輸出到IDbset
- 5. 實體框架自我參照實體
- 6. 暴露接口實體框架POCO清單與參考出實體框架
- 7. 使用輸出參數調用實體框架過程時出錯
- 8. 實體框架其中方法參數
- 9. 實體框架 - 參數不提供?
- 10. 實體框架,devArt和Oracle VarChar參數
- 11. 實體框架的集合值參數?
- 12. 實體框架 - 實體查找拋出無參數構造函數
- 13. 實體框架ExecuteSqlCommand缺少輸入參數
- 14. 實體框架功能導入:輸入參數映射
- 15. 使用LINQ和實體框架獲取存儲過程輸出參數
- 16. 檢索存儲的過程輸出參數在實體框架總是空
- 17. 使用帶有輸出參數的實體框架調用Oracle存儲過程?
- 18. Exec的實體框架中的核心存儲過程的輸出參數2
- 19. 訪問存儲過程輸出參數和實體框架中的結果集?
- 20. 導出實體框架4數據模型到實體框架3.5
- 21. 參數值超出範圍在實體框架(DB第一)
- 22. 實體框架4.0實體SQL傳遞null ObjectParameter參數
- 23. 實體框架+ Unity框架
- 24. 實體框架計數子實體
- 25. 實體框架
- 26. 實體框架
- 27. 實體框架
- 28. 實體框架
- 29. 實體框架
- 30. 實體框架:實體
謝謝達納! – 2012-02-20 20:19:14
我在我的代碼中解決了類似的模式,並且我注意到輸出參數的Value屬性在訪問輸出結果集後被填充。 – 2013-05-16 08:13:49
@RudolfDvoracek是的,輸出參數在讀取結果數據集後被填充。 – Anderson 2014-12-17 20:04:53