Windows Phone 本地数据库 - 列为列

本文关键字:数据库 Phone Windows | 更新日期: 2023-09-27 18:34:28

我正在为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类型"。

不可能将列表作为列吗?我能做什么呢?有单独的类别关联表吗?支持哪些类型?

Windows Phone 本地数据库 - 列为列

最简单的方法可能只是将列表保存在逗号分隔的字符串中:

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