簡體   English   中英

ASP.NET MVC 4和EF5:如何使用enable-migrations / update-database

[英]ASP.NET MVC 4 and EF5: how to use enable-migrations / update-database

我似乎在使用enable-migrations和update-database的基本功能時遇到了問題。 在將項目復制到另一台PC之前,我已經啟用了項目。

我使用的是VS 2010 Ultimate,SQL Server 2008 R2 Express,MVC 4和EF5。

在我的Configuration類中,我有:

public Configuration()
{
    AutomaticMigrationsEnabled = true;
}

protected override void Seed(RecruitDB.ModelContext.RecruitModelContext context)
{
    context.Statuses.AddOrUpdate(
        s => s.ProgressStatus,
        new Status { ProgressStatus = "Interview Arranged" },
        new Status { ProgressStatus = "Candidate Rejected" },
        new Status { ProgressStatus = "Candidate Accepted" },
        new Status { ProgressStatus = "Job Offer Made" },
        new Status { ProgressStatus = "Job Offer Accepted" },
        new Status { ProgressStatus = "Job Offer Declined" }
        );
    // etc

在我的web.config中,我有EF設置指向數據庫Recruitment。

<entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
</entityFramework>
<connectionStrings>
    <add name="RecruitModelContext" providerName="System.Data.SqlClient" connectionString="Server=.\SQLEXPRESS;Initial Catalog=Recruitment;Integrated Security=True;MultipleActiveResultSets=true" />
</connectionStrings>

為什么我的數據庫是通過RecruitDB.ModelContext.RecruitModelContext的名稱創建的?

有沒有辦法阻止這種情況發生?

我嘗試使用Enable-Migrations -Force重置,並在覆蓋后重寫我的配置文件。

有時我會得到正確命名的Recruitment數據庫並開始正常使用該應用程序。 隨后,我無法運行Seed方法。

我最終不得不刪除數據庫並重新開始。

我假設您使用EF Code First?

似乎EF默認為“按慣例的代碼優先連接”,這解釋了為什么DbContext的完全限定名稱用作數據庫名稱。 (在這里閱讀更多內容: http//msdn.microsoft.com/en-us/data/jj592674

首先,嘗試將連接字符串的名稱設置為DbContext類的完全限定名稱,即“RecruitDB.ModelContext.RecruitModelContext”。

如果此操作失敗,請嘗試以下步驟:

  1. 刪除數據庫RecruitDB.ModelContext.RecruitModelContext
  2. 刪除遷移文件夾中的所有遷移(刪除整個遷移文件夾)
  3. 運行Enable-Migrations命令
  4. 運行Add-Migration命令並指定ConnectionStringName參數
  5. 運行Update-Database命令

以下是一個很好的EF遷移命令參考: http//coding.abel.nu/2012/03/ef-migrations-command-reference/#Enable-Migrations

暫無
暫無

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

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