Onlar bir komut satırı uygulaması ve bir msdeploy sağlayıcı söz verdiler bu noktada RTM kadar bunu yapmanın bir yolu, sağlamamaktadır. Kaynak: Elbette http://blogs.msdn.com/b/adonet/archive/2011/11/29/code-first-migrations-beta-1-released.aspx
o memnun değilse, powershell komut paketleri dizinde saklanan ve düz metin, sadece aynı dizinde saklanan bir montaj denir EntityFramework.Migrations.Commands yüklemek görünmektedir mesafesindedir. Bu montaj yoluyla izleme
aşağıdaki
public class MyContext : DbContext
{
static MyContext()
{
DbMigrationsConfiguration configuration = new DbMigrationsConfiguration() {
MigrationsAssembly = typeof(MyContext).Assembly,
ContextType = typeof(MyContext),
AutomaticMigrationsEnabled = true,
};
DbMigrator dbMigrator = new DbMigrator(configuration);
dbMigrator.Update(null);
}
}
UPDATE ile geldi: deneme biraz ben statik yapıcı bir güncelleştirme gerçekleştirme birkaç şey daha
- anladım sonra sizin uygulamanın başlangıcında için başka bir yol (Global.asax, WebActivator veya Ana yöntemi) kod ekleyerek çok, daha iyi powershell komutları kırar olarak bağlam kötü
AutomaticMi kullanırken yukarıdaki kod çalışır
- grations, bunu sadece yerine o örneğini, el ile oluşturulan göçler
- Zaten (eğer göç Nuget paketini yüklerken eklendi) projenizde olması gereken yaratıyordu yapılandırma sınıfı üzerinde pikap bunun için MigrationsNamespace ayarlamanız gerekir. kod anlamına gelir
sizin Global.asax
Application_Start
yöntemine
Database.SetInitializer<MyContext>(new MigrateDatabaseToLatestVersion<MyContext, NAMESPACE.TO.MIGRATIONS.Configuration>());
satır eklemeniz
DbMigrator dbMigrator = new DbMigrator(new NAMESPACE.TO.MIGRATIONS.Configuration());
dbMigrator.Update(null);
bu artık güncel olduğuna dikkat edin, EF 4.3 RTM MigrateDatabaseToLatestVersion adlı yeni bir veritabanı başlatıcı içerir. Daha fazla bilgi için http://stackoverflow.com/questions/9281423/entity-framework-4-3-run-migrations-at-application-start adresine bakın. – Betty
bağlam kurucusundaki başlatıcısı ayarı powershell komut müdahale etmek görünse de. Yukarıdaki kodla bir app_start modülünü kullanmaya başladım. – Betty