【问题标题】:EF Core running migrations from asp.net code throws exception从 asp.net 代码运行迁移的 EF Core 引发异常
【发布时间】:2018-03-01 03:59:39
【问题描述】:

我第一次在我的 asp.net WebApi 应用程序(REST 服务)中使用 EF 核心,m 使用 SQLite 提供程序。我已经安装了 Nuget 包 v2.0.1。

我已经添加了我的上下文、模型等,一切似乎都在工作。我现在想尝试使用迁移。在documentation 之后,我添加了我的迁移,并且所有预期的文件似乎都已创建。

为了测试,我删除了我的 SQLite 数据库文件并运行应用程序, 但是,当我在代码中调用 `Migrate 方法时,出现以下异常...

奇怪的是,当我关闭调试器时,实际上创建了文件和表。迁移表存在,但没有行。

如果我重新开始,即删除数据库,然后从包管理器控制台运行迁移,那么一切正常,即我明白了...

    PM> Update-Database
    Applying migration '20180301030031_InitialCreate'.
    Done.
    PM> 

还创建了数据库,这次迁移表有我期望的数据行..

任何人都知道为什么当我在代码中运行它时它不起作用?

提前感谢您的帮助

[编辑 1]

如果我在添加一个字段后添加一个新的迁移,我会遇到同样的问题。我第一次运行时,我遇到了异常。如果我再次运行,它会起作用!

【问题讨论】:

    标签: asp.net entity-framework-core entity-framework-core-migrations


    【解决方案1】:

    我正在考虑删除这篇文章,因为问题似乎神奇地自行解决了。

    我在一个示例 WPF 应用程序中运行了相同的代码(在同一个数据库文件上),并且没有任何问题,所以它似乎是在 IIS 进程中运行时(并且在执行 iiresets 以强制应用程序重新运行初始化之后)然后调用context.Database.Migrate();

    的代码

    无论如何,它现在似乎可以工作(但不知道为什么它开始工作)

    【讨论】:

      猜你喜欢
      • 2021-06-11
      • 2022-01-15
      • 2015-10-21
      • 2021-11-22
      • 2021-05-16
      • 2020-10-02
      • 2017-12-07
      • 2021-11-23
      • 1970-01-01
      相关资源
      最近更新 更多