前兩篇博客學(xué)習(xí)了數(shù)據(jù)庫映射和表映射,今天學(xué)習(xí)下數(shù)據(jù)庫初始化、種子數(shù)據(jù)、EF執(zhí)行sql以及執(zhí)行存儲(chǔ)過程這幾個(gè)知識(shí)。

一、數(shù)據(jù)庫初始化策略

數(shù)據(jù)庫初始化有4種策略

策略一:數(shù)據(jù)庫不存在時(shí)重新創(chuàng)建數(shù)據(jù)庫

Database.SetInitializer<EFCodeFirstDbContext>(new CreateDatabaseIfNotExists<EFCodeFirstDbContext>());

策略二:每次啟動(dòng)應(yīng)用程序時(shí)創(chuàng)建數(shù)據(jù)庫

Database.SetInitializer<EFCodeFirstDbContext>(new DropCreateDatabaseAlways<EFCodeFirstDbContext>());

策略三:模型更改時(shí)重新創(chuàng)建數(shù)據(jù)庫

Database.SetInitializer<EFCodeFirstDbContext>(new DropCreateDatabaseIfModelChanges<EFCodeFirstDbContext>());

策略四:從不創(chuàng)建數(shù)據(jù)庫

Database.SetInitializer<EFCodeFirstDbContext&