从当前日期时间的移动服务查询数据库

时间:2016-01-11 00:15:42

标签: c# sql azure uri azure-mobile-services

我使用以下代码行成功从azure移动服务查询azure sql数据库:

var targetUri = new Uri("https://studytoolmobile.azure-mobile.net/tables/TodoItem?$filter=(complete%20eq%20true)");

我想我可以修改它以符合我的具体目标。我的目标是查询数据库以返回其Notification1列中的值与当前日期时间匹配的记录:

DateTime currentTime = DateTime.Now;
currentTime = currentTime.AddMilliseconds(-currentTime.Millisecond);
string timeString = currentTime.ToString();

var targetUri = new Uri("https://studytoolmobile.azure-mobile.net/tables/TodoItem?$filter=(Notification1%20eq%20" + timeString + ")");

问题在于它给了我一个错误:

'The remote server returned an error: (400) Bad Request.'.

这让我相信它是由我正在使用的新Uri引起的。

有谁知道正确的uri要做到这一点是什么?或者我的错误有不同的原因吗?谢谢。

1 个答案:

答案 0 :(得分:1)

您需要使用正确的OData DateTime文字语法。例如:

$filter=(Notification1 eq datetime'2010-01-25T02:13:40.1374695Z')

您可以使用DateTimecurrentTime.ToString("o")个实例中获取所需的ISO格式值。