【发布时间】:2015-12-12 05:42:34
【问题描述】:
我在将 EF7 CodeFirst 与 SQLite 结合使用的路上做得很好……但我真的想在运行时使用 DB 迁移。这是一个桌面应用程序(单击一次部署),旨在在连接可用时与主数据库同步,并在没有连接时提供离线数据。
我已经下载了 nuget 预发布版本并且一切正常,除了我找不到任何关于如何在运行时应用迁移的文档。我可以成功添加迁移并手动应用迁移...但需要一种在运行时以编程方式应用迁移的方法。
我也浏览了 EF7 开源项目,但没有找到任何地方。
我正在使用的版本:截至 2015 年 9 月 15 日的最新预发布版本 EntityFramework.Sqlite v7.0.0-beta7 EntityFramework.Relational v7.0.0-beta7 EntityFramework.Commands v7.0.0-beta7 ......等等......你明白了。
我正在寻求帮助以应用运行时迁移...或者使用 EF7 CodeFirst SQLite 以编程方式维护本地/嵌入式数据库的记录/推荐路径是什么?
更新: 我用 SQLite 回到 EF6,但后来发现 SQLite 没有 SQLMigrationGenerator。
编辑: 我相信其中一个注释中引用的 ApplyMigrations() 方法已被弃用。搜索存储库,没有提到“ApplyMigrations”。
【问题讨论】:
-
SQLite 在架构更改方面非常有限,但您可以尝试 EF6 的 DevArt 提供程序
-
欣赏信息。我找到了那个线程,但我担心他们可能已经删除了运行时 Apply-Migrations 功能。在 GitHub 存储库中四处挖掘,我找到了尝试 Update-Database 的参考。寻找这个产生了一些可能性。我会调查并报告。
-
我可以在迁移管理级别使用 SQLite 做我需要做的事情......到目前为止。这必须是 Entity Framework 的目标部署,因为许多 Windows 10 IoT 设备和桌面应用程序都需要像 EF 这样的有效 ORM。
-
ApplyMigrations已重命名为Migrate。
标签: sqlite entity-framework-core