【发布时间】:2015-11-06 03:32:33
【问题描述】:
我使用实体框架创建代码优先模型,在将第一个版本安装到客户端后,我们发现数据库列发生了一些变化,我使用实体框架的迁移,并且您应用迁移的所有步骤,但客户端的数据库不存在上次更改的迁移历史记录并在执行时显示此消息
Table 'nameTable' already exists
或
Additional information: Duplicate column name 'Reference'
这个类配置代码
internal sealed class Configuration : DbMigrationsConfiguration<GSM.DataAccess.GSMContext>
{
public Configuration()
{
AutomaticMigrationsEnabled = true;
AutomaticMigrationDataLossAllowed = false;
SetSqlGenerator("MySql.Data.MySqlClient", new MySql.Data.Entity.MySqlMigrationSqlGenerator());
}
protected override void Seed(GSM.DataAccess.GSMContext context)
{
}
}
还有这个类第一次迁移的代码
public partial class AddMoreInformationColumn : DbMigration
{
public override void Up()
{
AddColumn("dbo.People", "Reference", c => c.String(unicode: false));
AddColumn("dbo.Products", "Reference", c => c.String(unicode: false));
AddColumn("dbo.Products", "SalePrice", c => c.String(unicode: false));
AddColumn("dbo.Products", "WholePrice", c => c.String(unicode: false));
}
public override void Down()
{
DropColumn("dbo.People", "Address");
DropColumn("dbo.People", "Reference");
DropColumn("dbo.Products", "Reference");
DropColumn("dbo.Products", "SalePrice");
DropColumn("dbo.Products", "WholePrice");
}
}
【问题讨论】:
标签: c# mysql entity-framework migration entity-framework-6