Entity Framework 6.1.3 code first fluent mappings compatible database on mono

Entity Framework 6.1.3 code first fluent mappings compatible database on mono

我有一个 Asp.Net 与 sql 服务器配合使用的 webapi 2 系统。我使用实体 fraework 6.1.3 代码优先数据模型和流畅的映射以及 add-migration/update-database 的典型工作流程开发了它。我喜欢它。

我需要在 raspberry pi 设备上创建与 运行 重量轻的数据库完全相同的软件。它是软件的断开连接版本,将 replay/resync 其所有数据传输到云版本(sql 服务器)。

我意识到我可能需要放松一些限制,但从极端开始,我想使用 sqlite 和 xcopy 之类的东西将完全相同的代码库部署到我的 raspberry pi 和 运行 在 kestrel Web 服务器下的单声道中。

理想情况下,我只想更改我的连接字符串以指向一个空的 sqlite 数据库,执行更新数据库并在我的 运行 上安装完全相同的软件 运行 =38=]开发框(然后xcopy过来)

我已经阅读了很多关于 sqlite entity framework 支持的内容,但是 a) 它似乎不支持迁移 b) 它似乎不支持流畅的映射

我可以通过使用工具将我的 sql 服务器数据库转换为 sqlite(每次我更改架构时),从而避免更新数据库的需要。但是缺乏流畅的映射仍然会阻止数据模型正确映射到现有的 sqlite 模式。

有人 thoughts/recommendation sql 可以帮助我实现目标吗?

您是否有任何其他数据库建议可以帮助我实现我的目标 - 例如,我查看了 vistadb,但我认为它们也不支持 fluent。

devart sqlite 驱动程序似乎支持我需要的一切,但他们的示例都是老式的,据我所知,他们没有一个示例是具有流畅映射的现代代码优先模型。即使他们确实完全支持流利的代码,我担心会有一些语法差异,我不确定我现有的 sql 服务器目标代码是否与它兼容。我在他们的论坛上问了这个问题并发送了一封电子邮件,但还没有收到回复。

谢谢

您可以考虑使用 EF7,它是 API 兼容的 Entity Framework 新版本,它完全支持 SQLite 的迁移和流畅映射。 EF7 在 .NET 4.6 和 .NET Core 上运行。根据您使用的 EF6 中的哪些功能,升级可能很容易,特别是因为您已经在使用 Code First。

http://ef.readthedocs.org/en/latest/getting-started/linux.html