gpt4 book ai didi

c# - Azure 移动服务 - 通过自定义参数传递数组

转载 作者:行者123 更新时间:2023-11-30 17:04:54 24 4
gpt4 key购买 nike

我正在将 Azure 移动服务与 C# 客户端结合使用。我有一个“分数”表,其中每个分数都有一个 Facebook Id。我需要做的是传递用户的 friend 数组并返回该 friend 列表中的所有分数。

所以我在客户端尝试了这个:

        return _client.GetTable<Score>().WithParameters(new Dictionary<string, string>
{
{ "Level", level.ToString() },
//aggregate our string[] to a comma-delimited string
{ "Friends", friends.Aggregate(new StringBuilder(), (b, s) => b.Append(s).Append(',')).ToString() }

}).ToListAsync();

这很奇怪,我只能选择传递自定义参数的字符串。

所以我在服务器的读取上执行了此操作:

function read(query, user, request) {

query.where({ Level: request.parameters.Level, UserId: request.parameters.Friends.split(',') });

request.execute();
}

似乎用逗号分隔的列表不起作用。我在服务器上收到此错误:

Error in script '/table/Score.read.js'. Error: Unsupported literal value chucknorris,bobloblaw,

注意:我通过 chucknorrisbobloblaw 作为 Facebook ID 进行测试。

还有其他方法可以实现这个功能吗?如果我取出字符串分隔的内容,“级别”值过滤效果就很好。

最佳答案

您对 mssql 对象的使用肯定有效,但您也可以在 query.where 调用中使用函数,该函数返回您想要的条件:

function read(query, user, request) {
query.where(function(level, userIds) {
return this.Level === level && this.UserId in userIds;
}, request.parameters.Level, request.parameters.Friends.split(','));

request.execute();
}

请注意,此函数中的 in 运算符的行为与 JavaScript 中的 in 运算符并不完全相同。相反,它完全用于对相等语句进行“或”分组,您“手动”创建这些语句以传递给 SQL 对象。

关于c# - Azure 移动服务 - 通过自定义参数传递数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16966087/

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