C# 用C语言中JSON(或其他易于阅读的文本格式)的数据填充现有SQLite数据库#
我的数据库分为两部分:独立于语言的部分和可本地化的部分(包含Unicode文本字符串)。对于我们的翻译人员来说,使用诸如JSON之类的文本格式(当然是通过某种工具),而不是使用某些DB查看工具,工作起来要容易得多。因此,我正在寻找将JSON数据加载到SQLite数据库中的最佳方法。现在,我使用愚弄的方法(假设我已经有空的SQLite数据库):C# 用C语言中JSON(或其他易于阅读的文本格式)的数据填充现有SQLite数据库#,c#,json,database,sqlite,C#,Json,Database,Sqlite,我的数据库分为两部分:独立于语言的部分和可本地化的部分(包含Unicode文本字符串)。对于我们的翻译人员来说,使用诸如JSON之类的文本格式(当然是通过某种工具),而不是使用某些DB查看工具,工作起来要容易得多。因此,我正在寻找将JSON数据加载到SQLite数据库中的最佳方法。现在,我使用愚弄的方法(假设我已经有空的SQLite数据库): 我将JSON数据反序列化到C#类中(通过Newtonsoft.JSON.dll) 对于每一个参数,我都手动创建带有参数的插入命令(通过System.Dat
欢迎使用任何其他易于阅读的文本格式(支持Unicode!),它在C#和SQLite方面更适合使用。尝试SQLite.NET,这是一个基本的SQLite客户端和ORM: 从他们的维基: 定义实体后,可以自动生成 通过调用CreateTable在数据库中创建表:
var db = new SQLiteConnection("foofoo");
db.CreateTable<Stock>();
db.CreateTable<Valuation>();
更新和删除也有类似的方法
你会得到这样的结果:
AddStock(string jsonString){
var stock = JsonConvert.DeserializeObject<Stock>(jsonString);
db.Insert(stock);
}
AddStock(字符串jsonString){
var stock=JsonConvert.DeserializeObject(jsonString);
db.插入(库存);
}
Thx。我已经在使用好的SQLite客户端和ORM(来自Devart)。工具不是我问题的核心。我在问我是否遗漏了一些JSON自动加载API,我看到了更好的Unicode tex格式。我主要是回应你方法中的第二步。其余的对我来说似乎很好,你想改进什么?某种“神奇的函数”FillAQLiteDBWithData(SQLiteDBConnection,JSONString)可能我不知道有任何这样的神奇:)但对我来说,反序列化到对象中,并使用ORM存储这些对象,而不需要手动创建insert语句,已经相当简洁易读了。你不觉得吗?我添加了一个例子,你是在寻找这个,还是想将JSON字符串保存到db中?CSV要简单得多,事实上SQLite可以直接导入CSV文件。它甚至可以像读取SQLite数据库一样读取CSV文件
AddStock(string jsonString){
var stock = JsonConvert.DeserializeObject<Stock>(jsonString);
db.Insert(stock);
}