我在我的asp.net WebApi应用程序(REST服务)中第一次使用EF核心,使用SQLite提供程序。我已经安装了Nuget包v2.0.1。
我添加了我的上下文,模型等,一切似乎都在起作用。我现在想尝试使用迁移。在documentation之后,我添加了我的迁移,并且所有预期的文件似乎都已创建。
为了测试,我删除了我的SQLite数据库文件并运行了应用程序,但是,当我在代码中调用`Migrate方法时,我得到以下异常......
奇怪的是,当我关闭调试器时,实际上是创建了文件和表。迁移表存在,但没有行。
如果我再次启动,即删除数据库,然后从包管理器控制台运行迁移,那么一切正常,即我看到......
PM> Update-Database
Applying migration '20180301030031_InitialCreate'.
Done.
PM>
一个数据库也是创建的,这次Migration表有我期望的数据行。
当我在代码中运行它时,任何人都有任何想法为什么这不起作用?
在此先感谢您的帮助
[编辑1]
如果我在添加字段后添加新的迁移,我会遇到同样的问题。我第一次跑,我是例外。如果我再跑一次,它就可以了!
我正在考虑删除这篇文章,因为这个问题似乎神奇地解决了。
我在示例WPF应用程序中运行相同的代码(在同一个数据库文件中),并且没有任何问题,因此它似乎是在IIS进程中运行时(并且在执行iiresets以强制应用程序重新运行初始化代码之后)然后打电话给context.Database.Migrate();
无论如何,它现在似乎工作(但不知道为什么它开始工作)