我正在使用sqlite作为数据库开发Windows应用商店应用。我正在使用SQLite for Windows Runtime和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;
在不工作的情况下,列表的计数与表的rowcount匹配。有没有人知道为什么这不适用于列表版本?
答案 0 :(得分:2)
这不是一个答案,但它可能会让你走上正确的道路。我注意到有一个选项可以添加到连接字符串中,该连接字符串设置GUID是否以二进制文件存储
数据源= c:\ mydb.db;版本= 3; BinaryGUID = False;
答案 1 :(得分:-1)
我认为问题应该是正确编写的基本脚本命令。 它可能是一个bug数据库。