Azure移动服务 - 获取随机记录

时间:2015-04-05 02:59:53

标签: .net azure-mobile-services

我有一个大约有2k条记录的Azure数据库,我想使用.NET客户端为Azure移动服务检索一条随机记录。有谁知道怎么做?

1 个答案:

答案 0 :(得分:2)

有几种方法可以实现这一目标。如果您只想从客户端执行此操作,而不更改服务器表上的任何默认逻辑,那么您可以通过发送一些请求来执行此操作:第一个请求仅检索表中元素的数量,以及下一个要求随机元素:

var table = client.GetTable<TodoItem>();
var items1 = await table.IncludeTotalCount().Take(0).ToListAsync();
var count = ((ITotalCountProvider)items1).TotalCount;
var itemNumber = rndGen.Next(count);
var items2 = await table.Skip(itemNumber).Take(1).ToListAsync();
var item = items2.FirstOrDefault();

另一种方法是更改​​服务器逻辑(例如,在自定义API中)以选择单个项目,然后调用该API。 Select n random rows from SQL Server table的主题有很多选项可供选择。