我希望能够有选择地运行Entity Framework 6迁移所产生的SQL命令,因此我可以更改或过滤它们。理想情况下,我会有这样的代码:
var migration = EF.GetMigrationOperations();
var filteredOperations = migration.Where(...);
SqlContext.ExecuteCommands(filteredOperations);
这只是描述我的愿望的伪代码。有没有办法做到这一点?我还没找到一个。用于此的用例用于自动数据库迁移,例如过滤DROP语句,直到上传新版本的应用程序。
答案 0 :(得分:0)
我终于解决了部分问题。为了在代码中获得至少.sql脚本,我使用https://romiller.com/2012/02/09/running-scripting-migrations-from-code/和基本上下文工厂。在最初请求的代码中获得单独操作的另一种方法是在HistoryRepository
类EntityFramework上使用残酷的反射。