You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Realm .NET SDK映射字符串数组时返回空列表或null如何解决

问题解决方法
  1. 版本校验
    首先确认你使用的Realm .NET SDK版本 ≥ 10.18.0,低于该版本的SDK不支持基础类型(字符串、数字等)的集合映射,仅支持RealmObject/EmbeddedObject类型的集合。
  2. 修正模型属性写法
    针对你当前的Schema,有两种合法的属性声明方式可选:
  • 方式一:使用RealmList<string>
[MapTo("hashtags")]
public RealmList<string> Hashtags { get; } = new RealmList<string>();
  • 方式二:使用IList<string>
    如果不希望强绑定Realm专属类型,可以选择这种写法:
[MapTo("hashtags")]
// 加[Required]特性可保证属性永远返回空列表而非null,和你的Schema非必填规则匹配的话也可以不加
[Required]
public IList<string> Hashtags { get; set; }

如果后续你把Schema中hashtags加入required必填列表,那么属性上必须添加[Required]特性保证映射规则匹配。
3. 原有写法问题说明

  • 你之前的RealmList<string>属性仅声明了get访问器,未进行初始化,Realm无法完成托管实例的注入,因此始终返回空列表
  • 改用IList<string>时未声明set访问器,同时没有加Required特性,当后端未返回字段时就会得到null值

内容的提问来源于stack exchange,提问作者Spaeda

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 09:39:00