我正在开发一个使用 sqlite 作为数据库的 Windows 应用商店应用程序。我将 SQLite 用于 Windows 运行时和 sqlite-net。尝试从表中获取 Guid 列表,但仅在列表中获取空 guid ({00000000-0000-0000-0000-000000000000})。但是,当仅查询一个 guid 时,它可以正常工作。
我的代码如下:
async void SyncSurveys()
{
SQLiteConnection _db = new SQLiteConnection(Path.Combine(ApplicationData.Current.LocalFolder.Path, "SurveyDB"));
var localSurveys = (from s in _db.Table<Survey>()
select s.SurveyGuid).ToList();
...
}
我也尝试了以下格式的查询,但它都不起作用:
var localSurveys = _db.Table<Survey>().Select(s => s.SurveyGuid).ToList();
但是,如果我使用以下查询,仅获取一个仅用于调试目的的 guid,则效果很好:
var localSurvey = db.Table<Survey>().FirstOrDefault().SurveyGuid;
在不工作的情况下,列表的计数与表的行计数匹配。有谁知道为什么这不适用于列表版本?