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

Unity结合Azure Spatial Anchors使用Cosmos DB如何新增自定义JSON列

TableEntity文件截图
代码结构截图

问题解决方案

方案1:继承扩展TableEntity(无侵入,无需修改元数据文件)

  • 自定义一个继承自现有TableEntity的子类,在子类中新增Totems属性即可,元数据生成的TableEntity一般是partial类或者可继承的公开类,直接继承不会影响原有逻辑
  • 示例代码:
// 自定义扩展实体类
public class CustomTableEntity : TableEntity
{
    // 如果要存结构化JSON可以把类型替换为自定义的Totems类或者object,Cosmos DB SDK会自动序列化
    public string Totems { get; set; }
}
  • 后续读写操作直接用CustomTableEntity作为数据载体,原有针对TableEntity的通用逻辑依然可以复用,新增的Totems字段会自动和数据库中对应的列映射。

方案2:用动态属性/字典扩展(适配无强类型需求的场景)

  • Azure Cosmos DB的Table API本身支持动态属性读写,不需要在实体类中提前定义字段,你可以直接通过TableEntity的索引器读写额外字段:
// 写入Totems字段
entity["Totems"] = "你的JSON字符串或对应值";
// 读取Totems字段
var totemsValue = entity["Totems"]?.ToString();
  • 这种方式完全不需要修改原有实体类,适合临时加字段、不需要强类型校验的场景。

接口适配逻辑

  • GET接口:查询到实体后,将Totems字段取出和其他字段一起返回即可,如果用第一种继承方案直接序列化自定义类就可以,第二种方案手动把Totems值加到返回体中。
  • POST接口:接收前端传的Totems参数,按上面的两种方式赋值到实体后执行写入操作,Cosmos DB会自动把值写入对应的列。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 12:45:01