繁体   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