Entity Framework Code İlk geçişleri kullanıyorum ve bir bütünleştirme testi takımı çalıştırmak istediğim bir senaryo var.EF 5, Kod İlk - Yeni bir veritabanı oluşturun ve tüm geçişleri programlı olarak çalıştırın
- Damla mevcut test veritabanı (varsa)
- yeni bir test oluşturun: testler her çalıştırdığınızda, ben
adımlar olmalıdır veritabanını yeniden oluşturmak ve tüm göçler uygulamak istediğiniz veritabanı ve tüm taşıma işlemlerini
- Tohum verilerini
Bu benim için göçler ekledik varolan projeyi olduğunu uygulamak ve ben Enable-göçler bir "InitialCreate" göç inci oluşturmak için komut kullanılır veritabanındaki tüm tabloları eklemek için kod içerir.
public void InitializeDatabase(MyContext context)
{
//delete any existing database, and re-create
context.Database.Delete();
context.Database.Create();
//apply all migrations
var dbMigrator = new DbMigrator(new Configuration());
dbMigrator.Update();
//seed with data
this.Seed(context);
context.SaveChanges();
}
benim InitialCreate göç Up
yöntem bu kod tarafından adlandırılan almıyor, beklediğim olmadığı şu şekildedir: benim özel IDatabaseInitializer
yılında
kodudur. Bunun yerine, tüm tablolar Database.Create()
yöntemi çağrıldığında oluşturulur. Çalıştırılacak InitialCreate geçişine ihtiyacım var çünkü saklı yordamları oluşturmak için ek kodum var.
Sorularım, yeni bir veritabanını nasıl programlı olarak oluşturabilirim ve tüm geçişleri (InitialCreate geçişi de dahil) nasıl çalıştırabilirim?