gpt4 book ai didi

c# - 在 parse.com 上运行 linq 时, "non-filtering clauses"是什么意思?

转载 作者:太空宇宙 更新时间:2023-11-03 13:22:16 25 4
gpt4 key购买 nike

我正在使用 Parse.com 和 .NET SDK。

我正在尝试创建一个“提要”,其中包含当前用户正在关注的用户的帖子以及当前用户的帖子(用户自己创建的帖子)。

为此,我创建了 3 个查询:

            var activities = from activity in ParseObject.GetQuery("Activity").Skip(skip).Limit(limit)
where activity.Get<string>("type") == "follow"
&& activity["fromUser"] == ParseObject.CreateWithoutData<ParseUser>(id)
select activity;

var stories = from story in ParseObject.GetQuery("Story").Include("createdBy")
orderby story.CreatedAt descending
join activity in activities on story["createdBy"] equals activity["toUser"]
select story;

var userstories = from story in ParseObject.GetQuery("Story").Include("createdBy")
where story["createdBy"] == ParseObject.CreateWithoutData<ParseUser>(id)
select story;

var query = stories.Or(userstories);

var results = await query.FindAsync();

但这不起作用,我得到了这个错误:

"ExceptionMessage": "or 查询中的所有查询都不能有非过滤子句"

这是什么意思?

最佳答案

如果有人关心的话,我已经弄清楚了。

显然,您不能在任何子查询上使用“Include”或“Orderby”。

这是有效的最终结果:

var activities = from activity in ParseObject.GetQuery("Activity")
where activity.Get<string>("type") == "follow"
&& activity["fromUser"] == ParseObject.CreateWithoutData<ParseUser>(id)
select activity;

var stories = from story in ParseObject.GetQuery("Story")
join activity in activities on story["createdBy"] equals activity["toUser"]
select story;

var userstories = from story in ParseObject.GetQuery("Story")
where story["createdBy"] == ParseObject.CreateWithoutData<ParseUser>(id)
select story;

ParseQuery<ParseObject> query = stories.Or(userstories).Skip(skip).Limit(limit).Include("createdBy")
.OrderBy("-createdAt");

var results = await query.FindAsync();

关于c# - 在 parse.com 上运行 linq 时, "non-filtering clauses"是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23737338/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com