By default the service will only return a certain number of rows in each Read operation (50, as you noticed). Since there are quotas for the number of returned bytes in Azure services when they're free (and costs for paid ones), the mobile service has this default.
You can ask for more rows, using the Take
operation. There is, however, a limit on the number of rows which you can ask at any given time (which is 1000). The idea is that you shouldn't ask for all data in a table - it can potentially be a lot - and ask for rows as you need them using the Skip
and Take
operations.
var myTable = GetZumoService().GetTable<NameTable>();
var myList = await myTable.Take(500)
.Where(nameInfo => nameInfo.IsTaken == false)
.ToListAsync();