首页 文章

猎户座上下文代理实体可以具有两个具有相同名称但不同类型的属性吗?

提问于
浏览
1

猎户座上下文代理实体可以具有两个具有相同名称但不同类型的属性吗?

如果是,它是由猎户座控制的吗?创建这样的实体时是否返回错误?

如果不是,当便捷操作试图获取2个属性之一的值时会发生什么(AFAIK,在操作中未传递属性类型) .

1 回答

  • 0

    从Orion 0.17.0开始,类型不再用于标识属性 . 因此,属性通过名称加(可选)metadata ID来标识 . 我将在本答案的其余部分假设版本> = 0.17.0 .

    在处理创建实体的操作或在现有实体上追加属性时,Orion不会控制违反该规则的行为 . 在这些情况下,只有一个具有相同标识的属性实例存储在DB中,其他实例将被忽略 . 根本不建议客户端进行此类操作(将来,Orion可能会检查该情况并向客户端返回错误) .

    考虑上面的段落,并考虑当便捷操作试图获取2个属性之一(AFAIK,在操作中未传递属性类型)的值时会发生什么?请注意,情况不会发生 . 我的意思是,在Orion DB中永远不会存储具有与同一实体关联的相同标识的两个属性 .

    关于元数据ID的一些额外评论:如果您使用 name=temperature::outside 或任何其他命名空间技术,我不需要't recommend the use of metadata ID as any potential ID can be included in the name and you will get your client much simpler, e.g. you don'和 id=outside 属性 .

相关问题