我需要将动态的属性列表合并到Azure表中已保存的内容中。从我的研究中,“插入”或“插入或合并”是正确的方法。
如何获取C#语言以允许保存动态列表属性?
原始XML编辑是完成此任务的唯一方法吗?
More information on Upsert and InsertOrMerge is available here
有关我的特定问题的其他详细信息
我正在使用Entity
对象跟踪本质上是N长度的数组,其中N
/* Note: Each number is prefixed by "a" since properties can't start with a number and I like it when all properties have the same length */
public class MyFatEntity
{
public string A01 {get;set;}
public string A02 {get;set;}
// ..
public string A10 {get;set;}
// ..
public string AF0 {get;set;}
}
我需要能够将字符串与数组的任何特定位置进行匹配。我打算与此一起使用投影。
我预见的一个问题是,如果我创建一个具有240个属性的大型胖对象,那么我将消耗存储带宽并造成不必要的低效率。
更不用说这些附加属性,即使为null,也将计入我的最大实体大小。这是不希望的,因为固有的开销意味着我将有更少的空间来保存数据以用于更长的记录。
最佳答案
我已经编写了一个开放源代码客户端Lucifure Stash,可在CodePlex上通过NuGet获得,它将允许您将一个数组持久化到Azure Table Storage,每列一个数组元素。
Lucifure Stash还通过字典支持动态属性,非常适合“插入合并”。 (CodePlex)
它不支持查询单个数组元素的能力。请注意,除非查询受到严格的分区和/或行键范围的约束,否则对非键元素的查询可能会效率低下。