У меня есть одна SQLite
таблица со следующей сущностью:
[Table ("employee")]
public class Employees
{
[Column ("employee_id")]
[PrimaryKey]
public int EmployeeId { get; set; }
[Column ("username")]
public string UserName { get; set; }
[Column ("password")]
public string Password { get; set; }
[Column ("first_name")]
public string FirstName { get; set; }
[Column ("last_name")]
public string LastName { get; set; }
[Column ("is_wah_allowed")] //Newly added Column
public bool IsWAHAllowed { get; set; }
}
Когда приложение запускается, я создаю таблицу.
conn.CreateTable<Employees>();
Я хочу добавить новый логический столбец со значением по умолчанию, равным 0 - false в SQLite
, поскольку он хранит bool как 0 или 1.
Я пробовал следующие способы:
Случай 1:
[Column ("is_wah_allowed")] //Newly added Column
Вывод: это показывает Null в браузере БД для SQLite
Случай 2:
[Column ("is_wah_allowed"), Default (false)] //Newly added Column
Вывод: это вызывает исключение в conn.CreateTable (); - Невозможно преобразовать из bool в int.
Случай 3:
[Column ("is_wah_allowed"), Default (value : 0)] //Newly added Column
Вывод: в браузере БД для SQLite отображаются ложные значения вместо 0. Когда сервер возвращает мне данные, я сохраняю / обновляю их, а затем он показывает их как 0 или 1 в обновленных строках, потому что сервер обрабатывает это как целочисленные значения.
Я хочу знать :
Случай 1: Почему он показывает Null вместо значения по умолчанию 0?
Случай 2: Почему возникает исключение?
Случай 3: Почему вместо 0 отображается False?
Заранее спасибо!!