1

我有以下代码:

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
        {

这似乎并没有删除我的数据库并重新创建。有人可以给我建议,为什么它不这样做。

4

1 回答 1

1

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

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

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

Database.SetInitializer(new DataInitializer());

还考虑使用DropCreateDatabaseIfModelChanges初始化程序。

于 2013-03-16T08:38:54.307 回答