Ste*_*lis 5 entity-framework code-first
我正在尝试强制EF Code First重新初始化数据库.我的第一个想法是打电话:
dbContext.Database.Delete();
dbContext.Database.Create();
Run Code Online (Sandbox Code Playgroud)
这将创建一个新数据库,但会忽略播种策略(使用Database.SetInitializer <>设置).我正在Application_Start方法中执行上述操作.有任何想法吗?
我也尝试过:
dbContext.Database.Initialize(true);
Run Code Online (Sandbox Code Playgroud)
一种选择是创建您自己的从 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; }
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2158 次 |
| 最近记录: |