私は自分のプロジェクトで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たです。
を使用する必要があります。テーブル - それは、ブラケット(これはsqlite-netの一部です)の型のためのクエリ可能なインターフェイスです – ksalk
私はちょうどsqliteネットライブラリをチェックし、それが何かを見つけた、あなたは整数として使用してboolにキャストしようとしましたか?ソース上ではどこにもboolが定義されていないようです。 – Prix
はい、タイプをintに変更しようとしました - この場合は常に0を返します。 – ksalk