7
我在我的项目中使用SQLite并连接到数据库我使用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,有些假。但是,当我尝试查询这样的记录时:
var result = dc.Table<Product>().ToArray();
每条记录都将IsDefault设置为false。 插入一条记录可以正常工作,但是查询不会。
当我将列类型更改为布尔值时?在模型中,它返回null。
编辑---- 什么是奇怪的是,当我执行查询
var t = dc.Table<Product>().Where(i => i.IsDefault == true).ToArray();
它返回我的记录正确的号码,但即便如此,数组中的每个项目都有ISDEFAULT设置为false。
直流对象的类型是SQLiteConnection的。表 - 它是括号中给出的类型的可查询接口(它是sqlite-net的一部分) – ksalk
我刚刚检查了sqlite-net库并发现它做了什么,你是否尝试过将它用作整数并将其转换为bool?在源代码上,它似乎没有在任何地方定义过bool。 – Prix
是的,我试图改变类型为int - 在这种情况下,它总是返回0. – ksalk