gpt4 book ai didi

c# - 如何将 List 对象插入到 sqlite?

转载 作者:太空宇宙 更新时间:2023-11-03 22:29:41 25 4
gpt4 key购买 nike

这是我的类,它帮助我反序列化 json 从 api 获取结果

public class STOCKS
{
public class RootObject
{

[PrimaryKey]

public int sto_RECno { get; set; }
public int sto_RECid_RECno { get; set;
}

}

这是我的 json 反序列化操作。

var content = await _client.GetStringAsync("http://webapi/somewhere/");
var StockLIST= JsonConvert.DeserializeObject<List<STOCKS.RootObject>>(content);

我想将这些数据插入到我的 sqlite 中

 conn = DependencyService.Get<ISQLite>().GetConnection(); 
conn.CreateTable<STOCKS.RootObject>();
conn.Insert(StockLIST);

但它失败了。

我不明白,我哪里错了。?我的 Stocks 类包含近 90 个变量。所以我正在寻找合适的解决方案。

我应该将列表转换为数据表还是什么?

谢谢你的帮助。

最佳答案

首先,您可以使用以下方式将您的对象插入到数据库中。

  List<Note> StockLIST = new List<Note>();
StockLIST.Add(new Note() {Text="bbbb",Gender="fame",Date= DateTime.UtcNow });
StockLIST.Add(new Note() { Text = "bbbb1", Gender = "fame", Date = DateTime.UtcNow });
StockLIST.Add(new Note() { Text = "bbbb2", Gender = "fame", Date = DateTime.UtcNow });
StockLIST.Add(new Note() { Text = "bbbb3", Gender = "fame", Date = DateTime.UtcNow });

foreach (var item in StockLIST)
{
await App.Database.SaveNoteAsync(item);
}

将数据插入数据库时​​,您应该使用async/await。这是实现 SaveNoteAsync

的代码
    public Task<int> SaveNoteAsync(Note note)
{
if (note.ID != 0)
{
return _database.UpdateAsync(note);
}
else
{
return _database.InsertAsync(note);
}
}

当我们在xamarin中进行sqlite时,我们会先连接到App.xaml中的数据库。

  public partial class App : Application
{
static NoteDatabase database;

public static NoteDatabase Database
{
get
{
if (database == null)
{
database = new NoteDatabase(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "Notes5.db3"));
}
return database;
}
}
}

这是运行截图。

enter image description here

这是我的demo(实现CURD),大家可以引用一下

https://github.com/851265601/MyNewDataBase

关于c# - 如何将 List 对象插入到 sqlite?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58586080/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com