Where() 子句返回 "The query specified in the URI is not valid..."

Where() clause returning "The query specified in the URI is not valid..."

我有 .Net 移动服务。

调用这个:

https://xxx.azure-mobile.net/tables/items?$filter=(公司%20eq%20%27987af3f9-8d44-4a9d-8be2-7e0567287106%27)

返回:

{"message":"The query specified in the URI is not valid. Could not find a property named 'company' on type 'Default.<>f__AnonymousType2_3OfString_String_Double'."}

"items" 实体模型中的字段名称是 "company",在数据库中是 "company_Id",两者都不起作用。

使用http://ajax.aspnetcdn.com/ajax/mobileservices/MobileServices.Web-1.2.5.min.js

有什么问题吗?

事实证明,当使用 $select 或 $filter 时,您 运行 陷入了 .NET 后端中的套管错误。解决方法是为您的 属性 名称使用 Pascal 大小写(即首字母大写)。

问题是您只能过滤 $select 子句中存在的字段。正如所说 here 没有意义,但无论如何...

将我的列名的第一个字符设为小写使我无法使用 LINQ 或 Lambda 表达式查询我的 Azure 数据库。

将它们切换为大写字母就可以了。