集合存在于WCF数据服务中的标准

Joh*_*ell 6 linq wcf wcf-data-services

我正在尝试询问我的OData服务:

"给我所有没有类别的产品"

与产品和类别有m2m关系.

我试过了:

from p in Products
where p.Categories == null 
select p
Run Code Online (Sandbox Code Playgroud)

from p in Products
where !p.Categories.Any() 
select p
Run Code Online (Sandbox Code Playgroud)

from p in Products
where p.Categories.Count == 0
select p
Run Code Online (Sandbox Code Playgroud)

但所有这些都给了我不支持的例外.


我不是在寻找替代品或选择.请不要回答其他选项.

Joh*_*ell 2

不支持此操作:

http://social.msdn.microsoft.com/Forums/en-US/adodotnetdataservices/thread/b505d630-c808-4bde-b08e-3ce1dd17f621/

OData URL 查询语言当前不支持此类查询。因此,客户端的 LINQ 处理器也不支持它。如果您认为添加此类功能很有价值,请使用我们的连接站点来建议该功能,这将使我们下次的规划工作变得更加容易。 https://connect.microsoft.com/dataplatform/content/content.aspx?ContentID=15540&wa=wsignin1.0

作为解决方法,您可能可以使用服务操作。定义一个返回 IQueryable 的服务操作(以便您可以对客户端的结果编写更多查询运算符)并使用服务器端提供程序发出上面的查询。