7

私は自分のプロジェクトで 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 に設定されています。

4

1 に答える 1