Sqlite does not recognize shared list

In the Windows Store app project, I get JSON from a web service that looks like this: http://paste2.org/jfMJ2AGA

and I have these 2 classes

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

and im creating the sqlite database with:

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

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

but I get this error:

I do not know about System.Collections.Generic.List`1 [xxxxx.media]

Am I doing something wrong?

+3
source share
2 answers

Sqllite does not support lists. That means you cannot

public List<media> media { get; set; } 
+2
source

I had the same problem with int [] and I did this:

[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();
}
0
source

All Articles