如何使用Entity Framework删除并重新创建数据库?

时间:2013-03-16 07:01:18

标签: c# entity-framework

我有以下代码:

public class DataInitializer : DropCreateDatabaseAlways<DataContext>
// public class DataInitializer : CreateDatabaseIfNotExists<DataContext>
// public class DataInitializer : MigrateDatabaseToLatestVersion<DataContext, >
{
    public DataInitializer()
    {
        // System.Diagnostics.Debug.Write("Set Initializer\n");
        Database.SetInitializer<DataContext>(null);

        try
        {

这似乎没有丢弃我的数据库并重新创建。有人能给 我建议为什么不这样做。

1 个答案:

答案 0 :(得分:1)

您要通过将初始值设置为null来删除初始值设定项。制作以下初始值设定项(假设DataContext是您的上下文类,继承自DbContext):

public class DataInitializer : DropCreateDatabaseAlways<DataContext>
{
    // optionally override Seed method
}

在应用程序开始时(在首次创建上下文之前)调用

Database.SetInitializer(new DataInitializer());

还要考虑使用DropCreateDatabaseIfModelChanges初始值设定项。