【问题标题】:C# How to add in DB SQLite a list<string>C# 如何在 DB SQLite 中添加一个列表<string>
【发布时间】:2015-04-08 11:40:16
【问题描述】:

这是我第一次使用 SQLite DB,我正在尝试在我的表中添加一个列表。

这是我的课:

public DbF(string title, string content, bool myfavoris, int partner, List<string> tags)

我是这样添加的:

obj.Insert(new DbFavoris(title, content, true, partner, tags));

我收到了这个错误:

不知道 System.Collections.Generic.List`1[System.String]

我搜索后发现,我们不能直接添加列表,但我不知道该怎么做,因为我用 JSON 检索了我的标签,我立即将数据放入列表中。

【问题讨论】:

  • 我对 C# 中的 SQLite 不是很熟悉,但通常当你有一个包含其他对象列表的对象(它会有自己的 DB 表)时,你会插入基础对象首先,然后在之后插入所有聚合对象(通过外键引用所有者)。如果 DBMS 支持它,您也许可以一次插入所有这些标签。否则,您必须遍历它们并一一插入(在这种情况下,您可能希望将整个事物包装在事务中,以防万一失败,您可以撤消整个操作)。

标签: c# sqlite


【解决方案1】:

SQLLite 不支持列表。这意味着您不能使用List&lt;string&gt; tags。类似的问题也被问到here。也许,您可以尝试将标签存储为像“Tag1|Tag2|Tag3”这样的管道分隔字符串,并在检索期间对其进行操作。或者您可以尝试更改架构。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-04
    • 2016-12-28
    • 2011-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多