2014-02-17 72 views
3

在Windows商店應用項目中,我從一個web服務,看起來像這樣得到一個JSON:http://paste2.org/jfMJ2AGAsqlite的不承認泛型列表

,我有這2類

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

和IM創建SQLite數據庫搭配:

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

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

,但我得到這個錯誤:

Don't know about System.Collections.Generic.List`1[xxxxx.media]

我做錯了什麼?

+0

你有沒有找到一個解決辦法? – bobbyg603

+0

它已經有一段時間了,但如果我記得我認爲我保存了一個帶有媒體對象id的json字符串,就像[ 「1234」,「5678」,「9012」,「3456」 ] – Ric

+0

這就是我將要採取。謝謝! – bobbyg603

回答

2

Sqllite不支持列表。這意味着你不容有

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

你喲知道這個工作嗎? – Juan

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