C# 查询表只会将null返回给sqlite net pcl中的列表

C# 查询表只会将null返回给sqlite net pcl中的列表,c#,sqlite,xamarin,cross-platform,sqlite-net-pcl,C#,Sqlite,Xamarin,Cross Platform,Sqlite Net Pcl,所以我一直在尝试sqlite net pcl,但它似乎无法更新状态。。。 在尝试使用teststring将问题定位到某个地方之后,它从第一个列表开始,该列表似乎只填充了0,因此我将它恢复到原来的位置 public async Task UpdateStatus() { var ObjectIDList = await database.QueryAsync<long>("SELECT ObjectID FROM Object WHERE ObjectStatu

所以我一直在尝试sqlite net pcl,但它似乎无法更新状态。。。 在尝试使用teststring将问题定位到某个地方之后,它从第一个列表开始,该列表似乎只填充了0,因此我将它恢复到原来的位置

public async Task UpdateStatus()
    {
        var ObjectIDList = await database.QueryAsync<long>("SELECT ObjectID FROM Object WHERE ObjectStatus = 0 OR ObjectStatus = 1");
        if (ObjectIDList != null)
        {
            foreach (long ObjectID in ObjectIDList)
            {
                byte newStatus = 5;
                var result = await database.Table<Object>().Where(i => i.ObjectID == ObjectID).FirstOrDefaultAsync();
                if (result != null)
                {
                    result.Objectstatus = newStatus;
                    await SaveObjectAsync(result);
                }
            }
        }
    }
public异步任务UpdateStatus()
{
var ObjectIDList=await database.querySync(“从ObjectStatus=0或ObjectStatus=1的对象中选择ObjectID”);
if(ObjectIDList!=null)
{
foreach(ObjectID列表中的长ObjectID)
{
字节newStatus=5;
var result=await database.Table()。其中(i=>i.ObjectID==ObjectID.FirstOrDefaultAsync();
如果(结果!=null)
{
result.Objectstatus=newStatus;
等待SaveObjectAsync(结果);
}
}
}
}
无论我的表中有多少个条目,只要对象的状态值中有0或1,它就会用另一个0填充列表

问题


为什么
ObjectIDList
总是返回零,即使数据库中有许多记录的
ObjectStatus=0或ObjectStatus=1
?如果我有5条记录,那么它将返回5个结果,但结果中没有实际的
ObjectID

,我查看了源代码,下面是SQLite的功能。假设您有这样一个查询:

var ObjectIDList = await database.QueryAsync<long>("SELECT ObjectID FROM 
    Object WHERE ObjectStatus = 0 OR ObjectStatus = 1");
然后这样做:

List<long> ids = ObjectIDList.Select(x => x.ObjectID).ToList();

我不明白你的问题。为什么有
return
s?它们后面什么都没有,那么它们有什么用途呢?哎呀,忘了编辑它们了,它们是来返回teststring的,编辑的。你的问题是什么?我的问题是,是否有一个选项可以在列表中实际保存ObjectID(而不是它要求的状态),因为ID有点像14325617892,保存的时间一样长;到目前为止,我看到的所有示例都使用了select来指向对象中符合条件的特定元素,它只保存了0而不是实际值,因为我不明白它为什么会这样做。ATM的问题是,我后来得到了对象,更改该值并根据我无论如何都无法使用此方法提取的ID保存它。
List<long> ids = ObjectIDList.Select(x => x.ObjectID).ToList();
foreach(long thisObjectId in ids)
{
    // code...
}