我在我的项目中使用 SQLite 并连接到我使用 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。