My model contains, among other things, two properties that were added to the model class after its initial creation and migration.
public sealed class SomeModel
{
... other properties, which are fine.
public int PropertyOne { get; set; }
public int PropertyTwo { get; set; }
}
My most recent migration contains:
public override void Up()
{
... other table being created.
AddColumn("dbo.SomeModel", "PropertyOne", c => c.Int(nullable: false));
AddColumn("dbo.SomeModel", "PropertyTwo", c => c.Int(nullable: false));
}
The target database contains the PropertyOne
and PropertyTwo
columns, and the __MigrationHistory
table contains entries for both the migration that created the table and the migration that added the columns.
When I run Add-Migration
to get some other changes, it also includes those two properties again:
public override void Up()
{
... other changes.
AddColumn("dbo.SomeModel", "PropertyOne", c => c.Int(nullable: false));
AddColumn("dbo.SomeModel", "PropertyTwo", c => c.Int(nullable: false));
}
What could be causing this? I also notice that if I revert all of my model changes and try an Update-Database
(which should do nothing), I get the error:
Unable to update database to match the current model because there are pending changes and automatic migration is disabled. Either write the pending model changes to a code-based migration or enable automatic migration. Set DbMigrationsConfiguration.AutomaticMigrationsEnabled to true to enable automatic migration.
What could be causing this?