0

我想我完全破坏了我的迁移我删除了我的迁移文件夹并删除了在数据库中生成的表迁移。为什么?因为我读了一些我必须删除的东西,所以我编辑了

现在不能让它工作我试图在我的 app_star 和 EfDbContext 的构造函数中使用

Database.SetInitializer(new DropCreateDatabaseIfModelChanges());

这在我的方法 OnModelCreating modelBuilder.Conventions.Remove();

我使用 PM> Enable-Migrations-ProjectName EnableAutomaticMigrations Rhld-Force-Verbose 收到此错误

Enable-Migrations: There is no positional parameter that accepts the argument 'EnableAutomaticMigrations'.
At line: 1 Char: 1
+ Enable-Migrations-ProjectName EnableAutomaticMigrations Rhld-Force-Verbose
+ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
     + CategoryInfo: InvalidArgument: (:) [Enable-Migrations], ParameterBindingException
     + FullyQualifiedErrorId: PositionalParameterNotFound, Enable-Migrations

并使用 PM> Update-Database -ProjectName rhld -Verbose -Force

Using StartUp project 'Rhld'.
Specify the indicator '-Verbose' to see the SQL statements that are being applied to the target database.
Not found any migration configuration in assembly 'Rhld'. (In Visual Studio, you can use the command Enable-Migrations of the Package Manager Console to add a migration configuration).

所以我的问题是我现在能做什么?,我想仍然使用我的数据库我试图在另一个数据库中创建表并且不能这样做得到同样的错误

编辑

我的问题是一开始工作正常然后尝试更改名称和表的外键,但我不能,所以我开始阅读和删除东西:S

4

1 回答 1

0

好吧,我结束了删除数据库和

public EfDbContext()
{
    Database.SetInitializer<EfDbContext>(new DropCreateDatabaseIfModelChanges<EfDbContext>());
}

在 Application_Start

 Database.SetInitializer(new DropCreateDatabaseIfModelChanges<EfDbContext>());

不知道有什么诀窍

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
   modelBuilder.Conventions.Remove<IncludeMetadataConvention>();
}

并使用它,它就可以工作

Enable-Migrations -EnableAutomaticMigrations -ProjectName rhld -Force
Update-Database -ProjectName rhld -Verbose -Force
于 2013-06-07T21:17:09.517 回答