Sqlite-net guid select返回空guid

时间:2013-09-19 18:17:37

标签: c# sqlite windows-store-apps sqlite-net

我正在使用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匹配。有没有人知道为什么这不适用于列表版本?

2 个答案:

答案 0 :(得分:2)

这不是一个答案,但它可能会让你走上正确的道路。我注意到有一个选项可以添加到连接字符串中,该连接字符串设置GUID是否以二进制文件存储

数据源= c:\ mydb.db;版本= 3; BinaryGUID = False;

更多信息https://www.connectionstrings.com/sqlite/

答案 1 :(得分:-1)

我认为问题应该是正确编写的基本脚本命令。 它可能是一个bug数据库。