每次我想在迁移后更新数据库时,都会出现标题中的错误。我的代码如下:
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;它会在标题中显示错误。它要求我执行迁移的原因是因为我验证了模型中的一些内容。
答案 0 :(得分:0)
您需要更新数据库以匹配程序中的模型。 在这些命令中尝试这一点(在工具 - &gt; NugetPackage Manager - &gt;包管理器控制台下):
Add-Migration 'give it a name'
给它起了一些重要的东西,比如“updatedmodels”之类的东西update-database
答案 1 :(得分:0)
如果未启用迁移,请在nuget包管理器控制台中键入:
enable-migrations(仅运行一次)
添加迁移(每次进行更改时都使用此功能)
update-database(使用它来应用新的更改)