为什么我会“无法更新数据库以匹配当前模型......”

时间:2018-03-15 14:37:44

标签: c# sql-server asp.net-mvc entity-framework ef-code-first

我正在使用代码优先迁移,并且在尝试自动化数据库部署时尝试解决问题。

我有一个类似

的模型
public abstract class MyModel
{
    // ... 

    public bool MyBooleanColumn { get; set; }
}

我希望SQL Server中生成的列为BIT NOT NULL

因为我认为手动编写的一些旧迁移(例如2013030378749_SomeOldMigrations.cs)是错误的,所以当我通过BIT NULL命令从头开始生成新数据库时,此列最终为Update-Database

我正在尝试追溯修复它。所以我写了一个新的迁移2018031519731_RetroactivelyFixThings.cs并在其中放了

public override void Up()
{
    AlterColumn("dbo.MyModel", "MyBooleanColumn", c => c.Boolean(nullable: false));
}

但在应用之后我得到"Unable to update database to match the current model ..."例外。我验证是否对列进行了更改,而我的模型没有更改。那么这里发生了什么?

0 个答案:

没有答案