EF 数据库初始化 Database.SetInitializer Entity Framework数据库初始化四种策略

163 阅读1分钟

EF 数据库初始化 Database.SetInitializer Entity Framework数据库初始化四种策略

LongtengGensSupreme 2017-05-22 10:48:51 4465 收藏 1  策略一:数据库不存在时重新创建数据库

Database.SetInitializer(new CreateDatabaseIfNotExists());

策略二:每次启动应用程序时创建数据库

Database.SetInitializer(new DropCreateDatabaseAlways());

策略三:模型更改时重新创建数据库

Database.SetInitializer(new DropCreateDatabaseIfModelChanges());

策略四:从不创建数据库

Database.SetInitializer(null);

Entity Framework数据库初始化示例

using System.Data.Entity; using System.Data.Entity.Infrastructure; using Web.Models.Mapping;

namespace Web.Models { public class testContext : DbContext { static testContext() { Database.SetInitializer(null); }

    public testContext()   : base("Name=testContext")
    {
    }

    public DbSet<Person> People { get; set; }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        modelBuilder.Configurations.Add(new PersonMap());
    }
}

}