Azure脱机同步执行SUM操作

时间:2016-07-18 15:51:57

标签: azure mobile service synchronization offline

我需要在Azure移动服务中的基础SQLite存储上执行SUM。到目前为止,这似乎相当复杂..请看下面的帖子,任何参与者?

我的应用程序中有一个要求是将表中的列的所有值都为SUM并将结果返回给UI。我可以这样写SQL对SQLite,但在Azure App Services中使用同步表我只能看到ReadAsync,它接受OData语法而没有SUM的能力。有没有办法可以针对底层的SQLite存储运行定制查询?简而言之,我可以做' SELECT SUM(col)FROM table'?

根据您使用的语言,在代码中执行此操作相当容易。 JS有map()方法,而.NET有LINQ,例如。

感谢您的回复。我在Xamarin Forms中使用LINQ和.NET。我不想要检索所有行,你能提供一个简洁的例子,我可以做到这一点吗? ' SELECT SUM(col)FROM table'?在Azure App Services的上下文中?

var sum = table.Sum(t => t.Field);

我最初尝试过这种方式,但在移动服务中的SyncTable表(Microsoft.Azure.Mobile.Client)上没有方法Sum。我也使用System.Linq。我的环境是Xamarin Studio(使用Xamarin Forms)。

道歉:table.ToListAsync()。Sum(t => t.Field)。这是Stack Overflow的一个合适的问题,您将获得更广泛的社区帮助。

嗨Adrian,谢谢你的时间,但ToListAsync将带回所有记录,然后执行总和。生成的SQL是' SELECT * FROM Table' (我查了一下)。然后在完整列表上执行求和。这正是我试图不做的事情,因为我有成千上万的记录。我只是想执行一个' SELECT SUM(*)FROM Table'在底层商店没有撤回所有记录。可以这样做吗?

0 个答案:

没有答案