如何为在Xamarin中创建SQLITE表的类设置[NotNull,Default(value:0)]

问题描述 投票:0回答:1

我试图在一个类中设置一个默认值,用于在SQLITE中定义一个表,如下所示:

using System;
using SQLite;

namespace Japanese {

public class Phrase
{

    [PrimaryKey, NotNull]
    public string PhraseId { get; set; }
    public int PhraseNum { get; set; }
    public int CategoryId { get; set; }
    [NotNull]
    public bool Selected { get; set; } 
    [NotNull, Default(value: 0)]
    public bool Viewed   { get; set; }
}
}

我收到一个错误说:

/Phrase.cs(19,19):错误CS0246:找不到类型或命名空间名称'DefaultAttribute'(您是否缺少using指令或程序集引用?)(CS0246)

有谁知道如何解决这个问题?

c# sqlite xamarin xamarin.forms
1个回答
1
投票

bool总是初始化为false,因为你为Viewed设置0,这在SQLite中意味着错误。但是,如果您需要初始化其他某些字段,则可以通过属性本身执行此操作,字段默认值不会更改,直到另一个值设置为止。

private bool _sel = true;
[NotNull]
public bool Selected
{
    get { return _sel; }
    set { _sel = value; }
}

可能你想要PhraseId AutoIncreament而不是NotNull,因为PrimarKey始终是NotNull约束。

© www.soinside.com 2019 - 2024. All rights reserved.