在后台的用户表添加新的字段后,如何在客户端获取呢?

我在用户表中添加新的列:“headurl”
在访问:

user.Get<string>("headurl");

的时候报错:

KeyNotFoundException: The given key was not present in the dictionary.
我需要做什么预先的设定吗?谢谢

求助啊,各位。

请确认 headerurl 是否「有值」。
如果没有设置默认值,请先判断是否为 null,再获取。
本质上 AVUser 就是用一个 Dictionary 保存了各个字段。

1.它并不是值的问题,这个异常说的是“key”不存在。
2.这个headurl字段我是在后台添加的,也就是直接添加了数据库的字段。前后在前段时间直接访问的。
3.我现在的问题上如何直接访问后台添加的字段。

我今天又进一步的看了一下问题,
我的AVUser里面获取的

AVUser.CurrentUser

的Keys里面是有headurl的这个key的,但是在排行榜里面获取的用户是没有的。

            data.CoinCount = (int)ranking.Value;
        data.UserName = ranking.User.Username;
        data.NickName = ranking.User["NickName"].ToString();
        data.HeadImgURL = ranking.User["headurl"].ToString();

但是,Nickname也是我新加入的字段。
这两个的区别是什么呢?如何加入的呢?很奇怪了。

我傻了。
排行榜需要加一句这个:

        var rankings = await leaderboard.GetResults(limit: 10, selectUserKeys: new List<string> { "username", "NickName","HeadURL" });

好的。
像类似问题可以通过打开日志,看下 http 返回的数据是否符合预期

谢谢了,日志咋打开呢,谢谢