0
我提前道歉,因爲我覺得這個問題的答案在那裏,但我無法正確地說出我的查詢,所以我沒有多少回頭。無論如何 - 我有一個項目,除了幾個表格之外,我主要有一個新的數據架構。我想先使用EF代碼。所以我的問題是 - 是否有可能首先在大多數項目中使用代碼,除了幾個類,我可以定義存儲過程以在已存在的表之後進行?實體框架代碼優先和存儲過程
謝謝
我提前道歉,因爲我覺得這個問題的答案在那裏,但我無法正確地說出我的查詢,所以我沒有多少回頭。無論如何 - 我有一個項目,除了幾個表格之外,我主要有一個新的數據架構。我想先使用EF代碼。所以我的問題是 - 是否有可能首先在大多數項目中使用代碼,除了幾個類,我可以定義存儲過程以在已存在的表之後進行?實體框架代碼優先和存儲過程
謝謝
您可以訪問以執行存儲過程,像這樣你DbContext
實例的ObjectContext
屬性:
((IObjectContextAdapter)myDbContext).Objectcontext.ExecuteStoreQuery<ResponseType>(
"EXEC MyStoredProc @Value1, @Value2",
new SqlParameter("@Value1", value1),
new SqlParameter("@Value2", value2)
)
然而,即使表存在,所有你需要的是類與表匹配 - CodeFirst並不意味着代碼必須先存在。只要你的類匹配表結構和名稱(或者你使用流利的api或註釋使它們匹配),你會沒事的。除非存儲過程正在做一些EF中難以做到的特殊操作,否則我會堅持使用EF。
是的,你仍然可以通過你的EF上下文執行SP。 SO上有很多例子。示例:http://stackoverflow.com/questions/14243946/code-first-entity-framework-w-stored-procedure-returning-results-from-complex-f 和 http://blogs.msdn.com/ b/wriju /存檔/ 2011/05/14 /代碼優先-4-1-使用-存儲過程到嵌件data.aspx – mservidio