我有一个名为Article的表,其中包含6个不同的分区键值,每个分区键下有100个实体,但在每个分区键下我只想从表中检索n个实体。 所以,我想查询它只返回使用分区键的'n'个随机实体?
答案 0 :(得分:0)
我认为没有直接的解决方案。但您可以通过在CustomKey
上指定随机条件来模拟随机值的检索。 CustomKey
是技术领域,它仅用于解决您的问题并且具有int
类型。例如,向Azure表添加新项时,可以为此字段分配0到100之间的随机值。然后你可以写这样的东西(基于这个article):
var rand = new Random();
var query = from entity in context.CreateQuery<Customer>("CustomersOver30")
where entity.PartitionKey == "MyPartitionKey" &&
entity.CustomKey > rand.Next(0, 50) && entity.CustomKey < rand.Next(50, 100)
select entity;
您将检索一些实体,如果它们大于或等于您的n
,只需从中获取n
项。如果项目数量少于n
,只需重复此操作,直到您将获得多少项目。
是的,它是黑客,但天蓝色的桌子有非常有限的机会 - 仅支持where和top操作。