如何通知用户正在执行实体框架代码优先迁移?

时间:2015-01-27 11:41:38

标签: entity-framework entity-framework-6 ef-migrations

我们的部分迁移需要相当长的时间才能完成。所以我正在寻找一种方法来实现某种事件或回调来通知用户界面它应该告诫用户耐心。我当然可以写一个自定义事件,但是我在哪里放置处理程序呢?

非常感谢任何指向某些资源如何处理这个问题的指针!

1 个答案:

答案 0 :(得分:0)

为什么不在迁移开始时在数据库上放置一个标志,在进程结束时取消标记?可以轻松读取该标志以通知用户界面。保持简单......

以下是提升旗帜时的一些想法:

  • "事件"可以使用的是InitializeDatabase函数,如果您使用的是自定义初始值设定项。
  • 如果您像我一样使用DbMigrator,为了手动执行迁移,您可以在初始化之前标记数据库。 您可以看到here(我的答案就在那里)如何使用DbMigrator
  • 另一个选项是第一次迁移的Up功能(当使用可能有效的自动迁移时 - 但它有点棘手)。