Microsoft Azure 上的不良文档:Table Operation. Merge 方法
Microsoft Poor Documentation on Azure: TableOperation.Merge Method
我是 Azure 的新手,所以我阅读了 Microsoft TableOperation.Merge Method。
Creates a new table operation that merges the contents of the given
entity with the existing entity in a table.
就这些了...现在,我应该从"merge"概念中理解什么?这个合并究竟是如何发生的。
说我有
Body {PK: b, RK: 1, LeftHand: null, RightHand: 1000, LeftLeg: ll} >
Body {PK: b, RK: 1, LeftHand: 9999, RightHand: null, Head: h}
- empty/null 值会怎样?
- 如果找不到该项目会怎样?
- 我应该期待什么样的例外情况?
- InsertOrMerge 和 Merge 有什么区别?
我怎么猜?
Merge
操作实际上创建了一个超集。简单来说:
- 如果旧实体没有属性而新实体有:生成的实体将具有该新属性。
- 如果旧实体有一个属性而新实体没有:该属性的值将不会改变。它将与旧值相同。
- 如果旧实体有一个属性,而新实体也有该属性:生成的实体将替换属性值。
所以在你的例子中:
旧实体:
{PK: b, RK: 1, LeftHand: null, RightHand: 1000, LeftLeg: ll}
新实体:
{PK: b, RK: 1, LeftHand: 9999, RightHand: null, Head: h}
合并操作后的实体:
{PK: b, RK: 1, LeftHand: 9999, RightHand: 1000, LeftLeg: 11, Head: h}
我是 Azure 的新手,所以我阅读了 Microsoft TableOperation.Merge Method。
Creates a new table operation that merges the contents of the given entity with the existing entity in a table.
就这些了...现在,我应该从"merge"概念中理解什么?这个合并究竟是如何发生的。
说我有
Body {PK: b, RK: 1, LeftHand: null, RightHand: 1000, LeftLeg: ll} >
Body {PK: b, RK: 1, LeftHand: 9999, RightHand: null, Head: h}
- empty/null 值会怎样?
- 如果找不到该项目会怎样?
- 我应该期待什么样的例外情况?
- InsertOrMerge 和 Merge 有什么区别?
我怎么猜?
Merge
操作实际上创建了一个超集。简单来说:
- 如果旧实体没有属性而新实体有:生成的实体将具有该新属性。
- 如果旧实体有一个属性而新实体没有:该属性的值将不会改变。它将与旧值相同。
- 如果旧实体有一个属性,而新实体也有该属性:生成的实体将替换属性值。
所以在你的例子中:
旧实体:
{PK: b, RK: 1, LeftHand: null, RightHand: 1000, LeftLeg: ll}
新实体:
{PK: b, RK: 1, LeftHand: 9999, RightHand: null, Head: h}
合并操作后的实体:
{PK: b, RK: 1, LeftHand: 9999, RightHand: 1000, LeftLeg: 11, Head: h}