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!!
 
    