C# 如何解决SQLite查询上的空绑定?

C# 如何解决SQLite查询上的空绑定?,c#,database,sqlite,orm,windows-phone-8.1,C#,Database,Sqlite,Orm,Windows Phone 8.1,我正在使用SQLite libs和SQLite.Net查询我的WindowsPhone8.1项目中的现有数据库。到目前为止,与数据库的连接执行良好,但返回的记录为空 我采取了通常的调试步骤- 1.检查映射到my db schema中名称的绑定类型和名称 2.验证数据库中是否存在数据 3.仔细查看查询数据库的代码,发现数据库绑定为null。(这对我来说意味着POCO中的字段映射存在问题) 我没有得到任何编译时错误,但是返回的记录是空的 问题: 有人知道为什么为数据库映射提供的绑定存在问题吗 当我遍

我正在使用SQLite libs和SQLite.Net查询我的WindowsPhone8.1项目中的现有数据库。到目前为止,与数据库的连接执行良好,但返回的记录为空

我采取了通常的调试步骤-

1.检查映射到my db schema中名称的绑定类型和名称

2.验证数据库中是否存在数据

3.仔细查看查询数据库的代码,发现数据库绑定为null。(这对我来说意味着POCO中的字段映射存在问题)

我没有得到任何编译时错误,但是返回的记录是空的

问题: 有人知道为什么为数据库映射提供的绑定存在问题吗

当我遍历SQLite.cs类时,我发现绑定计数为0:

查询代码:

            using (var dbConn = new SQLiteConnection(Path.Combine(ApplicationData.Current.LocalFolder.Path, AppDBPath), true))
            {
                List<ZoneInfo> zoneInfo = dbConn.Query<ZoneInfo>("select * from " + tableName).ToList<ZoneInfo>();
                ObservableCollection<ZoneInfo> zoneInfoCollection = new ObservableCollection<ZoneInfo>(zoneInfo);
                return zoneInfoCollection;
            }
数据库架构-

您的“DB映射POCO”与数据库架构不匹配

[栏目(“电价”)]
公共整数?TariffPH{get;set;}
[第列(“电价”)]
公共整数?TariffPD{get;set;}
应该是

[Column("tariff_ph")]
public float TariffPH  { get; set; }

[Column("tariff_pd")]
public int TariffPD { get; set; }
因为您的数据集中有浮点值,并且它们都不可为空


我这里有一个最小的例子,它创建数据库,插入一些数据并更新数据库。看看这是否对你有帮助,但我很确定你的数据没有正确匹配。

我终于在我的测试设备上实现了这一点,重新安装了应用程序,该应用程序反过来复制了数据库的一个重新拷贝。但当我将应用程序部署到应用商店时,查询没有启动。你知道为什么会这样吗?在此处创建了一个问题:
[Column("tariff_ph")]
public float TariffPH  { get; set; }

[Column("tariff_pd")]
public int TariffPD { get; set; }