最近用EF作了几个小东西,了解简单使用后有了深刻研究的兴趣,因此想系统的研究一下EF CodeFist的几个要点。下面简单列一下目录数据库
在http://www.entityframeworktutorial.net这个网站中,我找到相关数据库初始化的策略app
还有一种在列表中没有体现,就是MigrateDatabaseToLatestVersion ,在配置自动化迁移(Automated Migration)中会使用。ide
若是要取消数据库初始化策略,代码为:网站
Database.SetInitializer<YourDbContext>(null);spa
public class SchoolDBInitializer : CreateDatabaseIfNotExists<SchoolDBContext> { protected override void Seed(SchoolDBContext context) { base.Seed(context); } }
注意实际上是有继承关系的。 按照官方的说法:This separates the database initialization code from a context class.--这将数据库初始化的代码从context中分离出来.net
<?xml version="1.0" encoding="utf-8" ?> <configuration> <appSettings> <add key="DatabaseInitializerForType SchoolDataLayer.SchoolDBContext, SchoolDataLayer" value="SchoolDataLayer.SchoolDBInitializer, SchoolDataLayer" /> </appSettings> </configuration>
key的结构为 DatabaseInitializerForType{namespace}.{className},value 同理。 若是要配置取消数据库初始化策略,value=“Disabled” 便可。code