Sqllite does not support lists. This means that you can´t have
public List<media> media { get; set; }
Вопрос
On a windows store app project i get a JSON from a webservice 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 a 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:
Don't know about System.Collections.Generic.List`1[xxxxx.media]
Am i doing anything wrong?
Решение
Sqllite does not support lists. This means that you can´t have
public List<media> media { get; set; }
Другие советы
I had the same problem with an 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();
}