使用C#中的JSON(或其他易于阅读的文本格式)数据填充现有SQLite数据库

时间:2016-06-21 09:37:02

标签: c# json database sqlite

我的数据库分为两部分:与语言无关的部分和可本地化的部分(包含Unicode文本字符串)。对于我们的翻译人员来说,使用一些数据库查看工具,但使用一些像JSON这样的文本格式(当然通过一些工具)更容易。所以我正在寻找一种将JSON数据加载到我的SQLite数据库的最佳方法。现在我使用foolowing方法(假设我已经有空的SQLite数据库):

  1. 我将JSON数据显示为C#类(通过Newtonsoft.JSON.dll)。
  2. 对于每个人,我手动创建带参数的INSERT命令(通过System.Data.SQLite.dll),然后用类字段的值填充参数
  3. 我执行该命令。
  4. 使用JSON数据填充SQLite数据库是否正确(最简单,最可靠)?也许我错过了一些有用的API?

    欢迎任何其他易于理解的文本格式(带有Unicode支持!),以便更好地使用C#和SQLite。

1 个答案:

答案 0 :(得分:1)

尝试Sqlite.NET,一个基本的Sqlite客户端和ORM:https://github.com/praeclarum/sqlite-net

来自他们的维基:

  

定义实体后,您可以自动生成   通过调用CreateTable:

在数据库中创建表
var db = new SQLiteConnection("foofoo");
db.CreateTable<Stock>();
db.CreateTable<Valuation>();
     

您可以使用Insert在数据库中插入行。如果表   包含一个自动递增的主键,然后包含该键的值   插入后将为您提供:

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);
}