2013-08-20 8 views
7

私は自分のプロジェクトでSQLiteを使用していますが、DBに接続するには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に設定されているものもあれば、falseに設定されているものもあります。しかし、次のようなレコードをクエリしようとすると:

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

すべてのレコードのIsDefaultはfalseに設定されています。 レコードを挿入すると正常に動作しますが、クエリは正常に動作しません。

カラムタイプをboolに変更したのはいつですか?モデルでは、nullを返します。奇妙である何

EDIT ---- は、私は、クエリ

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

を実行したときにそれは私のレコードの正しい数を返しますが、たとえそうであっても、配列のすべての項目をfalseに設定のIsDefaultたです。

+0

を使用する必要があります。テーブル - それは、ブラケット(これはsqlite-netの一部です)の型のためのクエリ可能なインターフェイスです – ksalk

+1

私はちょうどsqliteネットライブラリをチェックし、それが何かを見つけた、あなたは整数として使用してboolにキャストしようとしましたか?ソース上ではどこにもboolが定義されていないようです。 – Prix

+0

はい、タイプをintに変更しようとしました - この場合は常に0を返します。 – ksalk

答えて

関連する問題