Как установить значение по умолчанию для столбца в SQLite с помощью SQLite-net?
Я импортирую код Android в Windows RT и мне нужно, чтобы данные были совместимы в обоих приложениях. При создании базы данных sqlite мне нужно установить значение по умолчанию для столбца, делая что-то вроде
CREATE TABLE [blabla] ( [id] INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, [bleh] INTEGER NOT NULL DEFAULT -1 )
Я написал свой код на C#, используя SQLite-net следующим образом:
[Table("blabla")]
public class Blabla {
[PrimaryKey, AutoIncrement, NotNull]
public int id { get; set; }
[NotNull]
public int bleh { get; set; }
}
Но я не могу установить значение по умолчанию "bleh". Мне нужно, чтобы обе базы данных были одинаковыми =/ Кто-нибудь может мне помочь с этим?
Спасибо =)
2 ответа
До тех пор, пока я не получил ответ, я просто создал всю базу данных, используя операторы SQL, поэтому мой код на C# не требует создания базы данных. Работает нормально!
Почему вы не используете:
private int _bleh = 1;
[NotNull]
public int Bleh
{
get { return _bleh; }
set { _bleh = value; }
}
Тогда bleh всегда будет иметь значение по умолчанию 1, если не изменено
Я знаю, что уже поздно, но, может быть, это поможет кому-то вроде меня. ЕслиDefault
поддерживается вашим SQLite, тогда используйте Default
атрибут
[Table("blabla")]
public class Blabla {
[PrimaryKey, AutoIncrement, NotNull]
public int id { get; set; }
[NotNull,Default(value:1)]
public int bleh { get; set; }
}
Если Default
не поддерживается вашим SQLite, вы можете просто назначить значение по умолчанию следующим образом:
[Table("blabla")]
public class Blabla {
[PrimaryKey, AutoIncrement, NotNull]
public int id { get; set; }
[NotNull]
public int bleh { get; set; } = 1;
}
Я всегда предпочитаю второй путь.