最近用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