gpt4 book ai didi

c# - 使用 Entity Framework 6 将数据从数据库存储到本地

转载 作者:搜寻专家 更新时间:2023-10-30 20:54:31 25 4
gpt4 key购买 nike

我将数据存储在 MySQL 数据库中,我正在通过 Entity Framework 6 访问它。我想做的是提取数据并以独立于服务器的方式存储它,这样我就可以在引导更大数据库的 future (来自 MySQL 的数据只是其中的一小部分)。目标数据库不会是 MySQL。

之前MySQL的数据就在那里,所以我用的是Database First。对于新数据库,我使用 Code First。 MySQL 数据也需要一些清理,这是在代码中完成的。所以工作流程是:

  1. 先用Entity Framework数据库从MySQL中读取数据
  2. 在代码中优化/增强/纠正它
  3. 首先使用代码存储在另一个数据库中

所以我的第一个想法是使用 SQLite,但遗憾的是,Code First is not supported .

使用其他格式(即 XML/DataSets/CSV)存储数据需要我重新实现导入代码。

目前我没有找到另一个支持 Entity Framework 的嵌入式数据库。由于 Entity Framework 适用于关系数据库,因此我认为 Redis(或其他 NoSQL 数据库)无法解决问题。

我还想如果“转换”H2使用 IKVM.NET 然后使用 H2 作为 SQLite 的替代品是一种选择——但存在由于 IKVM.NET 不支持的某些内部依赖性而导致失败的风险。

所以我很乐意得到以下问题的答案:

  1. H2 方法行得通吗?是否有稳定/可用的 ADO.NET 提供程序?
  2. 我不太关心本地存储格式(也可以是 JSON 等)- 是否有任何非 SQL 但提供 Entity Framework 支持的东西?
  3. 我错过了什么吗?有什么方法我还没有看到吗?

以下是我偶然发现的一些相关问题,这些问题涉及使用 Entity Framework 来使用文件的可能性:

最佳答案

没有完整的解决方案,但是有很多现成的部分:

本项目将H2编译后的Jar封装在IKVM.Net之后具有实现 ADO.Net 接口(interface)的类为了便于在 .Net 项目中使用:
https://code.google.com/p/h2sharp/

SharpHSQL 的 EF 提供程序(不起作用,因为 SharpHSQL 太旧,它是 Hypersonic 1.4 的端口):
https://github.com/ArsenShnurkov/SharpHSQL/tree/master/src/SharpHsql.Linq

这里是构建过程的描述:
https://groups.google.com/forum/#!topic/h2-database/QAvFqbyd4_0
https://code.google.com/p/h2sharp/wiki/BuildingH2Sharp

上面代码的作者写了这么大的代码,所以我认为再写一些来完成你的任务并没有错。

关于c# - 使用 Entity Framework 6 将数据从数据库存储到本地,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28668586/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com