g.p*_*dou 70 ef-code-first ef-migrations
我在VS 2012中使用EF Code First和EF 5.我使用PM update-database命令,我有一个简单的种子方法来填充一些带有样本数据的表.
我想删除并重新创建我的x.mdb.更新历史记录似乎不同步.如果我在我的上下文中注释掉我的所有DBS,update-database运行时没有错误,但在DB中留下了一些表.由于我在数据库中没有有价值的数据,因此最简单的方法是重置所有内容.
我怎么能做到这一点?
NSG*_*aga 94
如果我理解正确的话......
如果你想start clean:
1)手动删除你的数据库 - 无论它在哪里(我假设你的连接已被排序),或者清空它,但更容易/更安全的是将它们全部一起删除 - 因为有system __MigrationHistory表 - 你也需要删除它.
2)删除所有migration files - 在Migrations- 并且命名为数字等 - 删除它们全部,
3)重建包含迁移(以及其余部分)的项目 - 并确保您的项目已设置(配置)以自动构建(有时可能会导致问题 - 但对您来说不太可能),
4)Add-Migration Initial再次运行- 然后Update-Database
小智 54
如果您使用该命令以正确的方式创建迁移,Add-Migration "Name_Of_Migration"则可以执行以下操作以获得干净的启动(重置,当然还有数据丢失):
Update-database -TargetMigration:0
因为执行了down方法,所以通常你的DB现在是空的.
Update-database
这将为您当前的迁移重新创建数据库
Ama*_*rdo 27
从Package Manager控制台中删除,创建和播种的单个Liner:
update-database -TargetMigration:0 | update-database -force
Run Code Online (Sandbox Code Playgroud)
KABOOM.
Giz*_*399 20
对于EntityFrameworkCore,您可以使用以下内容:
Update-Database -Migration 0
Run Code Online (Sandbox Code Playgroud)
这将从数据库中删除所有迁移.然后你可以使用:
Remove-Migration
Run Code Online (Sandbox Code Playgroud)
删除迁移.最后,您可以重新创建迁移并将其应用于数据库.
Add-Migration Initialize
Update-Database
Run Code Online (Sandbox Code Playgroud)
在EFCore v2.1.0上测试
我使用的是.net Core 6,这段代码直接从Program.cs中剥离出来
using Microsoft.EntityFrameworkCore;
namespace RandomProjectName
{
public class Program
{
public static async Task<int> Main(string[] args)
{
var connectionString = "Server=YourServerName;Database=YourDatabaseName;Integrated Security=True;";
var optionsBuilder = new DbContextOptionsBuilder<YourDataContext>();
optionsBuilder.UseSqlServer(connectionString);
var db = new YourDataContext(optionsBuilder.Options);
db.Database.EnsureDeleted();
db.Database.Migrate();
}
}
}
Run Code Online (Sandbox Code Playgroud)
您至少应该进行初始迁移才能使其发挥作用。
怎么样 ..
static void Main(string[] args)
{
Database.SetInitializer(new DropCreateDatabaseIfModelChanges<ExampleContext>());
// C
// o
// d
// i
// n
// g
}
Run Code Online (Sandbox Code Playgroud)
我从《编程实体框架:代码优先》第 28 页第一版中摘取了这一点。
| 归档时间: |
|
| 查看次数: |
82948 次 |
| 最近记录: |