簡體   English   中英

使用實體框架6將數據從數據庫存儲到本地

[英]Store data from database to local using entity framework 6

我已經將數據存儲在MySQL數據庫中,並且正在通過實體框架6訪問它。我要做的是提取數據並以與服務器無關的方式存儲它,以便將來在以后將這些數據用於引導更大的數據庫(其中來自MySQL的數據只是其中的一小部分)。 目標數據庫將不是MySQL。

MySQL數據在那里,所以我使用了數據庫優先。 對於新數據庫,我使用Code First。 MySQL數據也需要進行一些清理,這是用代碼完成的。 因此,工作流程為:

  1. 首先使用Entity Framework數據庫從MySQL讀取數據
  2. 優化/增強/更正代碼
  3. 首先使用代碼存儲在另一個數據庫中

所以我的第一個想法是使用SQLite,但可悲的是,不支持Code First

使用其他格式(即XML / DataSets / CSV)存儲數據將需要我重新實現導入代碼。

現在,我找不到支持Entity Framework的另一個嵌入式數據庫。 由於Entity Framework是用於關系數據庫的,所以我想說Redis(或其他NoSQL dbs)不會解決問題。

我還認為,如果使用IKVM.NET“轉換” H2 ,然后使用H2作為SQLite替換是一種選擇-但存在由於IKVM.NET不支持某些內部依賴性而導致失敗的風險。

因此,我很高興獲得以下問題的答案:

  1. H2方式行得通嗎? 甚至有一個穩定的/正在運行的ADO.NET提供程序嗎?
  2. 我不太在乎本地存儲格式(也可以是JSON等)-是否有SQL以外的內容,但提供了Enitity Framework支持?
  3. 我錯過了什么? 有沒有我沒看到的方法?

這是我偶然發現的一些相關問題,這些問題涉及使用Entity Framework來使用文件的可能性:

沒有完整的解決方案,但是有許多現成的零件:

該項目使用實現ADO.Net接口的類將在IKVM.Net之后的H2編譯后的Jar封裝起來,以便在.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

以上代碼的作者在編寫如此大量的代碼方面做得很好,所以我認為編寫更多代碼以完成任務沒有錯。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM