6

db.Database.CreateIfNotExists(); 不再创建数据库,并且在启用迁移后始终返回 true。我在发布节点中也没有看到任何关于它的内容。是错误吗?

请注意,在 nuget 控制台中执行“启用迁移”后, AutomaticMigrationsEnabled = true 或 false 都不起作用。

public void TestMethod1() {
        //using (var db = new Hive.Models.HiveDbContext()) {
        using (var db = new TestDbContext()) {
            var returnValue = db.Database.CreateIfNotExists();

            Console.WriteLine(returnValue);
        }
    }

public class TestDbContext : DbContext {

}

internal sealed class Configuration : DbMigrationsConfiguration<UnitTestProject1.TestDbContext>
{
    public Configuration()
    {
        AutomaticMigrationsEnabled = true;
    }

    protected override void Seed(UnitTestProject1.TestDbContext context)
    {
        //  This method will be called after migrating to the latest version.

        //  You can use the DbSet<T>.AddOrUpdate() helper extension method 
        //  to avoid creating duplicate seed data. E.g.
        //
        //    context.People.AddOrUpdate(
        //      p => p.FullName,
        //      new Person { FullName = "Andrew Peters" },
        //      new Person { FullName = "Brice Lambson" },
        //      new Person { FullName = "Rowan Miller" }
        //    );
        //
    }
}
4

1 回答 1

1

EF 团队回复我说这是 EF 的新变化。请参考这个线程。https://entityframework.codeplex.com/discussions/450998

于 2013-10-01T15:59:00.353 回答