我试图在一个类中设置一个默认值,用于在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)
有谁知道如何解决这个问题?
bool
总是初始化为false,因为你为Viewed
设置0,这在SQLite中意味着错误。但是,如果您需要初始化其他某些字段,则可以通过属性本身执行此操作,字段默认值不会更改,直到另一个值设置为止。
private bool _sel = true;
[NotNull]
public bool Selected
{
get { return _sel; }
set { _sel = value; }
}
可能你想要PhraseId
AutoIncreament
而不是NotNull
,因为PrimarKey
始终是NotNull
约束。