从asp.net代码运行迁移的EF Core会引发异常

问题描述 投票:0回答:1

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

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

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

enter image description here

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

如果我再次启动,即删除数据库,然后从包管理器控制台运行迁移,那么一切正常,即我看到......

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

一个数据库也是创建的,这次Migration表有我期望的数据行。

enter image description here

当我在代码中运行它时,任何人都有任何想法为什么这不起作用?

在此先感谢您的帮助

[编辑1]

如果我在添加字段后添加新的迁移,我会遇到同样的问题。我第一次跑,我是例外。如果我再跑一次,它就可以了!

asp.net entity-framework-core entity-framework-core-migrations
1个回答
0
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.