如何使用Xamarin中使用的SQLITE版本为列设置默认值?

时间:2017-10-12 17:00:21

标签: xamarin xamarin.forms

我正在我的Xamarin应用程序中创建一个SQLITE表,如下所示:

public class ClickHistory
{
    [PrimaryKey, NotNull]
    public string Yymmdd { get; set; }
    public int DayOfYear { get; set; }
    public int Year { get; set; }
    public int Month { get; set; }
    public int Day { get; set; }
    public int BtnACount { get; set; }
    public int BtnBCount { get; set; }
    public int BtnCCount { get; set; }
    public int BtnDCount { get; set; }
}

db2.CreateTable<ClickHistory>();

有人可以通过告诉我如何将BtnACount,BtnBCount,BtnCCount,BtnDCount列的默认值设置为0来帮助我。现在当我执行插入但未指定这些列时,它默认为null

请在另一个问题中注明建议的解决方案:标记为我的副本:

[NotNull,默认(值:true)]

在带有Xamarin

的SQLITE版本中不起作用

1 个答案:

答案 0 :(得分:0)

如果您的SQLite支持默认值,则使用默认属性

[Table("blabla")]
public class Blabla {
    [PrimaryKey, AutoIncrement, NotNull]
    public int id { get; set; }

    [NotNull,Default(value:1)]
    public int bleh { get; set; }
}

如果您的SQLite不支持默认值,则可以简单地分配默认值,如下所示:

[Table("blabla")]
    public class Blabla {
        [PrimaryKey, AutoIncrement, NotNull]
        public int id { get; set; }

        [NotNull]
        public int bleh { get; set; } = 1;
    }

我更喜欢第二种方式。