Entity framework 已经有一个名为';汽车';在数据库数据中

Entity framework 已经有一个名为';汽车';在数据库数据中,entity-framework,ef-code-first,dbcontext,entity-framework-migrations,Entity Framework,Ef Code First,Dbcontext,Entity Framework Migrations,我正在首先使用代码开发一个MVC项目。我首先使用代码创建数据库,如下所示: public class DataContext:DbContext { public DataContext() : base("DefaultConnection") { this.Configuration.LazyLoadingEnabled = false; this.Configuration.ProxyCreationEnabled = fal

我正在首先使用代码开发一个MVC项目。我首先使用代码创建数据库,如下所示:

public class DataContext:DbContext
{
    public DataContext()
        : base("DefaultConnection")
    {
        this.Configuration.LazyLoadingEnabled = false;
        this.Configuration.ProxyCreationEnabled = false;

        Database.SetInitializer(
            new MigrateDatabaseToLatestVersion<DataContext, MigrationsConfiguration>()
            );
    }
    public DbSet<Member> Members { get; set; }
    public DbSet<Traffic> Traffics { get; set; }
    public DbSet<Car> Cars { get; set; }
    public DbSet<Validation> Validations { get; set; }
    public DbSet<Log> Logs { get; set; }
    public DbSet<File> Files { get; set; }
}
公共类DataContext:DbContext
{
公共数据上下文()
:base(“默认连接”)
{
this.Configuration.LazyLoadingEnabled=false;
this.Configuration.ProxyCreationEnabled=false;
Database.SetInitializer(
新的MigrateDatabaseToLatestVersion()
);
}
公共数据库集成员{get;set;}
公共数据库集流量{get;set;}
公共数据库集车辆{get;set;}
公共数据库集验证{get;set;}
公共数据库集日志{get;set;}
公共数据库集文件{get;set;}
}
我在公司服务器上上传了我的项目,他们使用了我的项目并在数据库中输入了一些值,所以有时候我会更改数据库中的一些列,然后我会在SQL design中正常添加到数据库表中,所以我也更改了我的部分代码,现在我上传了我发布的文件,我得到了以下错误:

数据库中已存在名为“Cars”的对象

注意:我不能删除数据库,因为我在其中有数据,正如我所说,我向数据库添加了新列,但我的应用程序无法连接到该数据库

迁移部分:

public class MigrationsConfiguration : DbMigrationsConfiguration<DataContext>
{
    public MigrationsConfiguration()
    {
        this.AutomaticMigrationDataLossAllowed = true;
        this.AutomaticMigrationsEnabled = true;
    }
}
公共类迁移配置:DbMigrationsConfiguration
{
公共迁移配置()
{
this.AutomaticMigrationDataLossAllowed=true;
this.AutomaticMigrationsEnabled=true;
}
}

由于生产数据库中已经有数据,请不要使用自动迁移。您的首要任务是使数据库与模型同步。这将取决于您的模型有多复杂,例如有多少个表。我的建议是:

  • 禁用自动迁移
  • 将开发人员副本指向空白数据库,并创建初始迁移
  • 运行updatedatabase-Script为迁移生成SQL脚本
  • 手动更改脚本,以便它可以在生产数据库上运行
  • 在生产数据库上运行此操作
达到这一点后,请确保每次要对模型进行更改时都添加迁移,而不是手动进行