我已经开始使用Xamarin Studio在Mac OS上构建ASP.NET MVC3项目。我现在想要为项目添加新的属性和模型,但我不能在我的生活中解决如何运行Nuget Package Manager控制台以运行Enable-Migrations命令。
我问得太多了吗?这是可能的还是我必须回到Windows上的Visual Studio?
答案 0 :(得分:16)
所有Entity Framework Migrations命令都只是底层API的瘦包装器。要启用迁移,只需创建一个派生自项目中DbMigrationsConfiguration<TContext>
的新类。
对于Add-Migration
,请使用与以下内容类似的代码。
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);
}
}
对于Update-Database
,请参阅Rowan Miller的Running & Scripting Migrations from Code。