Как установить [NotNull, Default (значение: 0)] для класса, используемого для создания таблицы SQLITE в Xamarin - PullRequest
0 голосов
/ 18 сентября 2018

Я пытаюсь установить значение по умолчанию в классе, который используется для определения таблицы в 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)

Кто-нибудь знает, как я могу решить эту проблему?

1 Ответ

0 голосов
/ 18 сентября 2018

bool всегда инициализируется как false, поскольку вы устанавливаете 0 для Viewed, что означает false в SQLite. Однако если вам нужно инициализировать некоторые другие поля, вы можете сделать это через само свойство, значение поля по умолчанию не изменится, пока не будет установлено другое значение.

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

Возможно, вы хотите PhraseId AutoIncreament вместо NotNull, потому что PrimarKey всегда NotNull ограничение в нем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...