如何在Azure表存储中嵌入文档

Jar*_*red 2 azure nosql azure-storage azure-table-storage

我希望能够使用如下结构在Azure表存储中存储具有子对象的对象:

public class AzureTestDocument : TableServiceEntity
{
    public AzureTestDocument(int counter)
        : base("_default", counter.ToString())
    {
        Counter = counter;
        Child = new AzureTestChildDocument(counter);
    }

    public int Counter { get; set; }
}

public class AzureTestChildDocument
{
    public AzureTestChildDocument(int counter)
    {
        Counter = counter;
    }

    public int Counter { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

如果删除子文档,保存父文档可以正常工作.保存这样的结构会导致"其中一个请求输入无效"异常.做一些谷歌搜索出现了这篇文章关于支持的类型,这可能意味着你不能嵌入除支持的那些短列表之外的任何类型.

请澄清是否是这种情况或指出我可能缺少的东西.

Igo*_*rek 5

Azure表存储支持保存仅包含基本属性的实体.任何嵌套的子对象都需要单独保存:

您可以将子对象序列化为字符串并将这些字符串保存为属性.

或者,您可以将这些子对象保存为Azure表中的单个行

或者,如果您正在处理文档,则可以将这些对象保存在Azure BLOB存储中.