查询bool列始终返回false

时间:2013-08-20 12:18:54

标签: c# database sqlite sqlite-net

我在项目中使用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。

EDIT ---- 什么是奇怪的是当我执行查询

var t = dc.Table<Product>().Where(i => i.IsDefault == true).ToArray();

它返回正确的记录数,但即便如此,每个数组项都将IsDefault设置为false。

1 个答案:

答案 0 :(得分:2)

编辑:

SqlLite有一些有限的类型,bool不是其中之一: http://www.tutorialspoint.com/sqlite/sqlite_data_types.htm

你必须使用Int(0/1)

相关问题