实体未添加到Azure表,但正确添加了rowkey和分区键

时间:2012-04-06 12:41:37

标签: c# azure azure-storage azure-table-storage

我正在尝试将订单实体添加到Azure表。当我添加实体时,它只添加分区键和行键的值。任何帮助深表感谢。这是我的代码。

class OrderEntity : TableServiceEntity
{
    public int customerID;
    public int productID;
    public Double price;
    public String status;
}

然后在一个单独的班级

        OrderEntity order = new OrderEntity();
        order.customerID = retrievedCustomer.id;
        order.productID = selectedProduct.id;
        order.price = Convert.ToDouble(selectedProduct.price);
        order.PartitionKey = retrievedCustomer.id.ToString();
        order.RowKey = counter.ToString();
        order.status = "Processing Order";

        serviceContext.AddObject("orders", order);

        // Submit the operation to the table service
        serviceContext.SaveChangesWithRetries();

2 个答案:

答案 0 :(得分:4)

您需要使用属性而不是公共字段。

答案 1 :(得分:2)

Mark Rendle是正确的,只支持公共属性而不支持字段。

由于我在Microsoft客户端遇到了限制,因此我编写了一个备用Azure表存储客户端Lucifure Stash,其中包含许多高级抽象。 Lucifure Stash,支持数据列> 64K,列表,数组,枚举,序列化,变形,公共和私有属性和字段等。它是免费供个人使用,可以从http://www.lucifure.com或通过NuGet.com下载。