EntityFramework 7-CodeFirst-SQLite-在运行时使用ApplyMigrations管理数据库

EntityFramework 7-CodeFirst-SQLite-在运行时使用ApplyMigrations管理数据库,sqlite,entity-framework-core,Sqlite,Entity Framework Core,我已经很好地将EF7 CodeFirst与SQLite结合使用了……但我确实希望在运行时使用DB迁移。这是一个桌面应用程序(单击一次部署),用于在连接可用时与主数据库同步,并在不存在连接时提供脱机数据 我已经下载了nuget的预发布版本,所有版本都在运行,只是我找不到任何关于如何在运行时应用迁移的文档。我可以成功添加迁移和手动应用迁移…但需要一种在运行时以编程方式应用迁移的方法 我也浏览过EF7开源项目,但在那里一无所获 我使用的版本:截至2015年9月15日的最新预发布版本 EntityFra

我已经很好地将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”的引用。

今天,您可以调用
数据库外观上的扩展方法
Migrate

此方法仅在使用Microsoft.Data.Entity的
语句存在时可用。它来自
relationaldatabasefacadextensions
类,该类是
EntityFramework.Relational
包的一部分


仍然需要了解如何从API上下迁移。

当涉及架构更改时,SQLite的可能副本非常有限,但您可以尝试EF6的DevArt提供程序,以了解相关信息。我找到了那个线程,但我担心他们可能已经删除了运行时应用迁移功能。在GitHub存储库中,我找到了一个尝试更新数据库的参考。寻找这一点产生了一些可能性。我将进行调查并报告。到目前为止,我可以在迁移管理级别对SQLite做我需要做的事情。这必须是Entity Framework的目标部署,因为许多Windows 10 IoT设备和桌面应用程序都需要像EF这样的有效ORM。
ApplyMigrations
被重命名为
Migrate
。我还在等待能够区分应用迁移和当前代码库需要的迁移。如果没有它,
EnsureDeleted()
实际上只能通过捕获已知的异常来使用,或者在测试/早期开发过程中模拟旧的删除并在每次初始化时重新创建。