簡體   English   中英

如何更新Entity Framework自動生成的代碼以獲取存儲過程的結果

[英]How to update the Entity Framework auto-generated code for the results of a stored procedure

我想要實現的是獲取自動生成的代碼以更新存儲過程的結果。

到目前為止我所做的是:

  1. 修改了我的開發數據庫中的存儲過程
  2. 在Visual Studio中:

    2.1確保在服務器資源管理器中設置了連接字符串

    2.2右鍵單擊EDMX圖並從數據庫中選擇更新模型。 將顯示更新向導。 我沒有添加任何內容,我檢查存儲過程是否在列表中。 在此之后,我單擊完成按鈕。

  3. 然后我得到“運行此文本模板可能會損害您的計算機”消息兩次,我單擊確定。

  4. 保存更改

  5. 構建DLL

  6. 右鍵單擊EDMX下的tt(不是上下文一個)並選擇運行自定義工具。 我得到與上面相同的安全消息,所以單擊確定。

一切似乎都運行正常,沒有明顯的錯誤。

我還嘗試了構建菜單下的Transform All T4 Templates。

我使用Visual Studio 2013與SQL Server 2014.實體框架運行時版本是4.0.30319。

我查看了EDMX xml文件,並且存在一個用於存儲過程的FunctionImportMapping條目以及它將創建的類。

如果在嘗試使用Visual Studio中的SQL Server對象資源管理器連接到數據庫時有任何不同,它會顯示SQL Server 2012登錄,如果單擊“連接”,則會顯示“檢測到不兼容的SQL Server版本”。 可以通過為Visual Studio 2013安裝最新版本的SSDT來解決這個問題。

我是Entity Framework的新手,所以任何幫助都將不勝感激。

如何讓課程更新,或者我是否在思考問題並且必須手動更新?

謝謝您的幫助。

我找到了一個解決方案似乎已經完成了這個訣竅:

  1. 打開EDMX圖表
  2. 從數據庫更新模型
  3. 右鍵單擊圖表,然后從菜單中選擇Model Browser
  4. 展開Function Imports文件夾
  5. 找到已修改的存儲過程。
  6. 雙擊它,將顯示編輯功能導入表單
  7. 單擊獲取列信息
  8. 確保選擇了正確的復雜類型,然后單擊“更新”。
  9. 單擊確定

現在應將新列添加到自動生成的代碼中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM