实体框架6代码优先迁移生成

时间:2018-02-20 17:46:43

标签: c# .net entity-framework entity-framework-6 migration

我希望能够有选择地运行Entity Framework 6迁移所产生的SQL命令,因此我可以更改或过滤它们。理想情况下,我会有这样的代码:

var migration = EF.GetMigrationOperations();
var filteredOperations = migration.Where(...);
SqlContext.ExecuteCommands(filteredOperations);

这只是描述我的愿望的伪代码。有没有办法做到这一点?我还没找到一个。用于此的用例用于自动数据库迁移,例如过滤DROP语句,直到上传新版本的应用程序。

1 个答案:

答案 0 :(得分:0)

我终于解决了部分问题。为了在代码中获得至少.sql脚本,我使用https://romiller.com/2012/02/09/running-scripting-migrations-from-code/和基本上下文工厂。在最初请求的代码中获得单独操作的另一种方法是在HistoryRepository类EntityFramework上使用残酷的反射。