I have one SQLite
Table with following entity:
[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; }
}
When App starts, I am creating a Table.
conn.CreateTable<Employees>();
I want to add new boolean column with default value set to 0 - false in SQLite
as it stores bool as 0 or 1.
I tried it following ways:
Case 1 :
[Column ("is_wah_allowed")] //Newly added Column
Output : This shows Null into DB Browser for SQLite
Case 2 :
[Column ("is_wah_allowed"), Default (false)] //Newly added Column
Output : This throws exception at conn.CreateTable(); - Can not convert from bool to int.
Case 3 :
[Column ("is_wah_allowed"), Default (value : 0)] //Newly added Column
Output : This shows False values into DB Browser for SQLite, instead of 0. When server returns me data, I save/update them and then it shows them as 0 or 1 in updated rows, because server handle this as integer values.
I want to know :
Case 1 : Why it shows Null instead of 0 default value?
Case 2 : Why it throws exception?
Case 3 : Why it shows False instead of 0?
Thanks in advance!!