2013-08-20 103 views
7

我在我的項目中使用SQLite並連接到數據庫我使用sqlite-net庫。我創建了一個模型:查詢bool列總是返回false

internal class Product 
{ 
    [PrimaryKey, AutoIncrement] 
    public int Id { get; set; } 

    public string Name { get; set; } 

... 

    public bool IsDefault { get; set; } 
} 

有在數據庫中的一些記錄 - 有的ISDEFAULT列的值設置爲true,有些假。但是,當我嘗試查詢這樣的記錄時:

var result = dc.Table<Product>().ToArray(); 

每條記錄​​都將IsDefault設置爲false。 插入一條記錄可以正常工作,但是查詢不會。

當我將列類型更改爲布爾值時?在模型中,它返回null。

編輯---- 什麼是奇怪的是,當我執行查詢

var t = dc.Table<Product>().Where(i => i.IsDefault == true).ToArray(); 

它返回我的記錄正確的號碼,但即便如此,數組中的每個項目都有ISDEFAULT設置爲false。

+0

直流對象的類型是SQLiteConnection的。表 - 它是括號中給出的類型的可查詢接口(它是sqlite-net的一部分) – ksalk

+1

我剛剛檢查了sqlite-net庫並發現它做了什麼,你是否嘗試過將它用作整數並將其轉換爲bool?在源代碼上,它似乎沒有在任何地方定義過bool。 – Prix

+0

是的,我試圖改變類型爲int - 在這種情況下,它總是返回0. – ksalk

回答