私は自分のプロジェクトで SQLite を使用しており、DB に接続するために sqlite-net ライブラリを使用しています。モデルを作成しました:
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 を返します。
編集----奇妙なのは、クエリを実行するときです
var t = dc.Table<Product>().Where(i => i.IsDefault == true).ToArray();
正しい数のレコードが返されますが、それでも配列のすべての項目が IsDefault に false に設定されています。