首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Entity Framework Code First 遷移錯誤:「Configuration 不是遷移配置類型」解決方案

     編輯:程式設計綜合問答

錯誤訊息

類型「Configuration」不是遷移配置類型。在程序集中未找到任何遷移配置類型。

原因

專案結構中,DbContext 所在專案與啟動專案不同,或未正確指定 -ContextTypeName、-ProjectName、-StartUpProjectName 參數,導致 enable-migrations 找不到目標上下文。

正確指令

// 假設:
// DbContext 在 Domain 專案:namespace Domain { public class EFDbContext : DbContext }
// 啟動專案為 WebUI
// 連接字串名稱為 ApplicationServices

enable-migrations -ContextTypeName "Domain.EFDbContext" -ProjectName "Domain" -StartUpProjectName "WebUI" -ConnectionStringName "ApplicationServices"

參數說明

參數用途
-ContextTypeName完整類別名稱(含命名空間)的 DbContext
-ProjectName包含 DbContext 與 Migrations 資料夾的專案名稱
-StartUpProjectName啟動專案(含 Web.config/App.config 連接字串)
-ConnectionStringName設定檔中 connectionStrings 的 name 屬性

後續步驟

  1. 執行上述指令後,Domain 專案會產生 Migrations/Configuration.cs。
  2. 編輯 Configuration.Seed 方法(可選)。
  3. add-migration InitialCreate 建立首次遷移。
  4. update-database 套用至資料庫。

常見坑

  • 多個 DbContext 時,每個需獨立 enable-migrations -MigrationsDirectory:Migrations_ContextName。
  • 確保啟動專案的設定檔確實有對應連接字串。
  • Visual Studio 套件管理器主控台預設專案要設為包含 DbContext 的專案。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved