我必须在Azure表存储上进行查询,其中我有以下设置: RowKey,PartitionKey,ThirdColumn
RowKey是唯一的,Partitionkey与ThirdColumn核心,意味着所有第三列的值为" Y ",将具有分区键" X &#34 ;.
我必须使用ThirdColumn值来获取分区键 X 的所有实体。这不符合要求,因为Y既不是PartitionKey也不是RowKey。
问题是:在第三列上执行.FirstOrDefault()是否有意义,以获取实体(任何实体),然后使用PartitionKey进行查询?我认为它会更好,因为它不必在不同的机器上搜索数据。
此致
答案 0 :(得分:1)
为什么不将PartitionKey设为X和Y的组合值?比如“MyValueofX_MyValueofY”?
或者,如果您在查询时没有X的值,只需使用不同的顺序复制信息,例如:
PK:X RK:Z 专栏:Y
PK:Y RK:Z 专栏:X这样,您可以在有X时和Y时查询记录。
答案 1 :(得分:0)
我想你可以看一下下面的文章:
https://msdn.microsoft.com/en-us/library/azure/dd894039.aspx
并尝试使用此代码获取第一个实体:
var query = (from entity in context.CreateQuery<Customer>("Top1Customers")
select entity).Take(1);
然后您可以将其写入名为First()
的方法中