gpt4 book ai didi

entity-framework - EF Code First - 先删除再创建数据库

转载 作者:行者123 更新时间:2023-12-03 17:57:10 26 4
gpt4 key购买 nike

我正在尝试强制 EF Code First 重新初始化数据库。我的第一个想法是打电话:

dbContext.Database.Delete();    
dbContext.Database.Create();

这会创建一个新数据库,但会忽略播种策略(使用 Database.SetInitializer<> 设置)。我正在 Application_Start 方法中执行上述操作。有任何想法吗?

我也试过:
dbContext.Database.Initialize(true);

最佳答案

一种选择是创建您自己的从 DropCreateDatabaseAlways 继承的 DatabaseInitializer。

这方面的一个例子是。

public class MyInitializer : DropCreateDatabaseAlways<EmployeeContext>
{
protected override void Seed(EmployeeContext context)
{
context.Employees.Add(new Employee() {FirstName = "Marcy"});
base.Seed(context);
}
}

public class EmployeeContext : DbContext
{
static EmployeeContext()
{
Database.SetInitializer(new MyInitializer()); // using my own initializer
}

public IDbSet<Employee> Employees { get; set; }
}

关于entity-framework - EF Code First - 先删除再创建数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9682080/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com