SQLite无法识别通用列表

3
在一个 Windows Store 应用程序项目中,我从 Web 服务获取了一个 JSON,它看起来像这样:http://paste2.org/jfMJ2AGA 我有这两个类:
public class media
{
    public string id { get; set; }
    public string type { get; set; }
    public string image { get; set; }
    public string video { get; set; }
    public string snapshot { get; set; }
    public string url { get; set; }
    public string snapshot_url { get; set; }
}

public class artigos
{
    public string menu { get; set; }
    public string submenu { get; set; }
    public string title { get; set; }
    public string subtitle { get; set; }
    public string description { get; set; }
    public List<media> media { get; set; }
}

我正在使用以下命令创建一个SQLite数据库:

dbPath = Path.Combine(Windows.Storage.ApplicationData.Current.LocalFolder.Path, "Database.sqlite");

//start dB
using (var db = new SQLite.SQLiteConnection(dbPath))
{
    db.CreateTable<artigos>();
}

但是我遇到了这个错误:

不知道 System.Collections.Generic.List`1[xxxxx.media] 是什么

我做错了什么吗?


你有找到解决方法吗? - bobbyg603
已经有一段时间了,但如果我没记错的话,我保存了一个包含媒体对象ID的JSON字符串,类似于[ "1234","5678","9012","3456" ]。 - Thought
这正是我要采取的方法。谢谢! - bobbyg603
2个回答

4
Sqllite不支持列表。这意味着您无法拥有。
public List<media> media { get; set; } 

0

我遇到了同样的int[]问题,我做了这个:

[Table(nameof(Folder))]
public class Folder
{
    public Folder()
    {
        // for SQLite
    }
    internal Folder(Json.Folder folder)
    {
        Id = folder.id;
        Title = folder.title;
        Lists = string.Join(",", folder.list_ids);
    }

    [PrimaryKey]
    public int Id { get; set; }
    public string Title { get; set; }
    public string Lists { get; set; }
    public int[] ListsArray => Lists.Split(',').Select(x => int.Parse(x)).ToArray();
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接