Cha*_*ris 4 sqlite database-migration xamarin.forms entity-framework-core ef-core-3.0
我有一个 Xamarin Forms 应用程序,我已经从只使用Restful API 切换到使用本地 SQLite DB,它将使用这个Dotmim.Sync - DB Sync'ing Framework(这很棒!)进行同步。我在 Xamarin 表单项目中使用 EF Core 3 与 SQLite 进行交互。
我的问题是关于在 SQLite 上运行迁移或只是数据库更新。我已经阅读了几个关于不同方法的博客和论坛,但它们都已经有几年的历史了,从 EF Core 1 到 EF Core 2,还有很多工作要做。
还有更多的链接,但我,这些证明了我对所有不同方法的观点。
我想要实现的是:
选项 1 我想采用 EF Core 迁移路径,因为主数据库已使用迁移更新,应用程序将能够利用相同的脚本。如果在运行时在 Xamarin 表单上运行迁移是可能的,那就太好了。
Q1。EF Core 是否可以在运行时在 Xamarin Forms 应用程序中运行 mirgations,就像在 .netcore/netframework 项目中一样?
选项 2 如果运行脚本需要是我已经探索过的路径,这意味着我需要能够将 SQLite 模式比较工具 1和工具 2,我在 SQLite db3 上尝试了工具一,但它出错了。除非未经验证,否则不愿意为工具 2 付费。
Q2。是否有 SQLite 比较工具来生成架构更改?
Q3。或者什么是客户端上部署的sqlite的数据库更新路径,那会更好,即删除数据库并重新创建它?然后重新同步数据库,以加载回所有用户特定的数据。丢失数据的可能性很小,应用程序中的同步逻辑会很频繁,不确定在每个用户数据更改事件之后,但如果我们需要确保服务器永远不会不同步,则可能。
我希望我说清楚了。谢谢
您需要创建前面提到的虚拟控制台应用程序。以下是安装工具的说明。之后,正常的迁移工作流应该在 Xamarin 上工作(如果没有,请务必让我们知道)。
Add-Migration MyMigration -P MyNetStandardClassLibrary -S DummyNetCoreApp
Run Code Online (Sandbox Code Playgroud)
您可以使用此方法在运行时应用迁移:
Add-Migration MyMigration -P MyNetStandardClassLibrary -S DummyNetCoreApp
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1920 次 |
| 最近记录: |