All of the Entity Framework Migrations commands are just thin wrappers over an underlying API. To enable migrations, simply create a new class that derives from DbMigrationsConfiguration<TContext>
in your project.
For Add-Migration
use code similar to the following.
var config = new MyMigrationsConfiguration();
var scaffolder = new MigrationScaffolder(config);
var migration = scaffolder.Scaffold("Migration1");
File.WriteAllText(migration.MigrationId + ".cs", migration.UserCode);
File.WriteAllText(migration.MigrationId + ".Designer.cs", migration.DesignerCode);
using (var writer = new ResXResourceWriter(migration.MigrationId + ".resx"))
{
foreach (var resource in migration.Resources)
{
writer.AddResource(resource.Key, resource.Value);
}
}
For Update-Database
see Running & Scripting Migrations from Code by Rowan Miller.
Update for EF 6.3 ??
A command named ef6.exe has been added to the NuGet package. It contains corresponding commands for each of the PMC commands:
| PMC | ef6.exe |
| ----------------- | --------------------- |
| Enable-Migrations | ef6 migrations enable |
| Add-Migration | ef6 migrations add |
| Update-Database | ef6 database update |
| Get-Migrations | ef6 migrations list |
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…