我首先使用代码开发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; }
}
我在公司服务器上传了我的项目,他们使用了我的项目并输入了一些数据库值,所以有时我在数据库中更改了一些列,并且我在SQL设计中正常添加到数据库表中,所以我改了一些部分我的代码也是如此,现在我上传了我发布的文件,我收到了这个错误:
数据库中已有一个名为“Cars”的对象。
注意:我无法删除数据库,因为我有数据,因为我说我将新列添加到数据库,但我的应用程序无法连接到该数据库。
迁移部分:
public class MigrationsConfiguration : DbMigrationsConfiguration<DataContext>
{
public MigrationsConfiguration()
{
this.AutomaticMigrationDataLossAllowed = true;
this.AutomaticMigrationsEnabled = true;
}
}
答案 0 :(得分:1)
由于您已经在生产数据库中获得了数据,因此请勿使用自动迁移。您的首要任务是让您的数据库与您的模型保持同步。如何执行此操作取决于您的模型的复杂程度,例如:多少桌子。我的建议是:
一旦达到这一点,请确保每次要对模型进行更改时添加迁移,而不是手动创建。