使用 Entity Framework Power Tools Beta 2 將現有資料庫反向工程為 Code First Model時,可能發生 0x80070057 的錯誤
【情境說明】
當您嘗試在 Visual Studio 2012 中使用 Entity Framework Power Tools Beta 2 將現有資料庫利用反向工程功能轉換為 Code First 類別時,可能發生 HRESULT:0x80070057 的錯誤,在 Visual Studio 2012 的 Output 視窗中也可以看到相關的錯誤訊息(如下圖所示)。
【實作步驟】
目前筆者找到的方法包含下列幾種:
1. 加入參考 Entity Framework 組件。
2. 連接資料庫時設定 Persist Security Info 屬性為 True。
3.刪除 C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Extensions\Microsoft\Entity Framework Tools\Templates\Includes\EF.Utility.CS 下的 【<#@ CleanupBehavior Processor="T4VSHost" CleanupAfterProcessingTemplate="true" #>】的宣告。
其中以筆者的環境中只有第三種作法,才順利解決這個錯誤訊息,Sky 有找到在 Microsoft Connect 已經有人反應這個問題,目前只有透過變通的作法來解決問題,也許這是因為 Entity Framework Power Tools 還在 Beta 才有的問題,希望到了正式版之後可以修復。
【參考資料】
- Entity Framework Power Tools Beta 2
- Entity Framework Power Tools使用提示参数错误
- Entity Framework Power Tool 参数错误的解决办法
- EF Power Tools Beta 2 生成 Entity Framework Code First 提示 参数错误 hresult e_invalidarg 的最新解决方法