无法附加文件'' .mdf'更新数据库后作为数据库&#asp; aspnet

时间:2016-03-04 20:12:57

标签: c# asp.net-mvc entity-framework ef-migrations

每次我想在迁移后更新数据库时,都会出现标题中的错误。我的代码如下:

Charity上课:

public class Charity
{
    public int ID { get; set; }
    [StringLength(60, MinimumLength = 3, ErrorMessage = "There must be a name")]
    public string DisplayName { get; set; }
    [DisplayFormat(DataFormatString = "{dd-MM-yyyy}")]
    public DateTime Date { get; set; }
    [Range(2, Int32.MaxValue, ErrorMessage = "The must be greater than £2")]
    public Double Amount { get; set; }
    public Double TaxBonus { get; set; }
    [StringLength(20, MinimumLength = 4, ErrorMessage = "Please leave a comment")]
    public String Comment { get; set; }
}

public class CharityDBContext : DbContext //controls information in database 
{
    public DbSet<Charity> Donations { get; set; } //creates a donation database
}

web.config

<connectionStrings>
    <add name="DefaultConnection" 
         connectionString="Data Source=(LocalDb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\aspnet-CharitySite-20160222115154.mdf;Initial Catalog=aspnet-CharitySite-20160222115154;Integrated Security=True"  
         providerName="System.Data.SqlClient" />
    <add name="CharityDBContext" 
         connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Donations.mdf;Integrated Security=True" 
         providerName="System.Data.SqlClient" /> 
</connectionStrings>
<startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>

服务器错误:

  

支持&#39; CharityDBContext&#39;自创建数据库以来,上下文已更改。考虑使用Code First Migrations来更新数据库

运行程序时,它会指出服务器错误以使用第一次迁移,所有步骤都可以正常工作,直到最后一步是“update-database&#39;它会在标题中显示错误。它要求我执行迁移的原因是因为我验证了模型中的一些内容。

2 个答案:

答案 0 :(得分:0)

您需要更新数据库以匹配程序中的模型。 在这些命令中尝试这一点(在工具 - &gt; NugetPackage Manager - &gt;包管理器控制台下):

  • Add-Migration 'give it a name'给它起了一些重要的东西,比如“updatedmodels”之类的东西
  • update-database

答案 1 :(得分:0)

如果未启用迁移,请在nuget包管理器控制台中键入:

enable-migrations(仅运行一次)

添加迁移(每次进行更改时都使用此功能)

update-database(使用它来应用新的更改)