1

Windows Phone 7.1 用のアプリを開発しています。DataContext のクラスの子を設定しました。これには、EventC というクラスのテーブルがあります。

クラス EventC は次のとおりです。

[Table]
public class EventC
{
    [Column(IsPrimaryKey = true, IsDbGenerated = true)]
    public int _id { get; set; }
    [Column]
    public int id { get; set; }
    [Column]
    public string date { get; set; }
    [Column]
    public string title { get; set; }
    [Column(DbType="NText")]
    public string description { get; set; }
    [Column]
    public int category { get; set; }
    [Column]
    public List<int> categories { get; set; }
    [Column]
    public string image { get; set; }

}

実行時に、「System.Collections.Generic.List の SQL タイプを判別できません」というエラーが表示されます。

リストを列にすることはできませんか? 代わりに何ができますか?カテゴリ関連付け用に別のテーブルがありますか? どのタイプがサポートされていますか?

4

1 に答える 1

1

最も簡単なのは、リストをコンマ区切りの文字列で保存することです。

    [Column]
    public string categoriesStr {
        get
        {
            return string.Join(",", categories);
        }
        set
        {
            if (string.IsNullOrEmpty(value))
            {
                categories = new List<int>();
            }
            else
            {
                categories = value.Split(',').Select((val) => int.Parse(val)).ToList();
            }
        } 
    }

    public List<int> categories { get; set; }
于 2013-10-09T22:18:14.757 に答える