簡體   English   中英

使用C#中的JSON(或其他易於閱讀的文本格式)中的數據填充現有SQLite數據庫

[英]Fill existing SQLite database with data from JSON (or other easily-readable text format) in C#

我的數據庫分為兩個部分:與語言無關的部分和可本地化的部分(包含Unicode文本字符串)。 對於我們的翻譯人員而言,使用某些數據庫查看工具而不是某些文本格式(如JSON)(當然通過某種工具)要容易得多。 因此,我正在尋找一種將JSON數據加載到SQLite數據庫中的最佳方法。 現在,我使用下面的方法(假設我已經有空的SQLite數據庫):

  1. 我將JSON數據分解為C#類(通過Newtonsoft.JSON.dll)。
  2. 對於它們中的每一個,我都使用參數表(通過System.Data.SQLite.dll) 手動創建INSERT命令,然后用類字段的值填充該參數
  3. 我執行該命令。

用JSON數據填充SQLite數據庫是否正確(最簡單,可靠)? 也許我錯過了一些有用的API?

歡迎使用任何其他易於閱讀的文本格式(具有Unicode支持!),就C#和SQLite而言,它更適合使用。

嘗試Sqlite.NET,基本的Sqlite客戶端和ORM: https//github.com/praeclarum/sqlite-net

從他們的Wiki:

定義實體后,您可以通過調用CreateTable在數據庫中自動生成表:

 var db = new SQLiteConnection("foofoo"); db.CreateTable<Stock>(); db.CreateTable<Valuation>(); 

您可以使用插入在數據庫中插入行。 如果表包含一個自動遞增的主鍵,則在插入后,該鍵的值將對您可用:

 public static void AddStock(SQLiteConnection db, string symbol) { var s = db.Insert(new Stock() { Symbol = symbol }); Console.WriteLine("{0} == {1}", s.Symbol, s.Id); } 

存在類似的更新和刪除方法。

您將獲得如下內容:

AddStock(string jsonString){
    var stock = JsonConvert.DeserializeObject<Stock>(jsonString);
    db.Insert(stock);
}

暫無
暫無

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

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