C# OData(创建自定义)查询选项
我需要创建一个自定义查询选项,老实说,我不知道从哪里开始。我不知道它们是如何创建的,也不知道是什么类处理它们。 在我的项目中,我使用了标记,但我还需要启用(在这种情况下,标记的文本将被标记)或禁用(在这种情况下,我将使用纯文本) 此时,我的解决方案是向函数发送一个参数,并告诉它何时启用/禁用 例: …/…/Namespace.MyFunction(markdown=1) 但我正在寻找一种方法来获得这个 …/…/…?$markdown=true 类似于计数查询选项C# OData(创建自定义)查询选项,c#,asp.net,asp.net-mvc,asp.net-web-api,odata,C#,Asp.net,Asp.net Mvc,Asp.net Web Api,Odata,我需要创建一个自定义查询选项,老实说,我不知道从哪里开始。我不知道它们是如何创建的,也不知道是什么类处理它们。 在我的项目中,我使用了标记,但我还需要启用(在这种情况下,标记的文本将被标记)或禁用(在这种情况下,我将使用纯文本) 此时,我的解决方案是向函数发送一个参数,并告诉它何时启用/禁用 例: …/…/Namespace.MyFunction(markdown=1) 但我正在寻找一种方法来获得这个 …/…/…?$markdown=true 类似于计数查询选项 谢谢美元符号前缀只能与系统查询选
谢谢美元符号前缀只能与系统查询选项一起使用。将
$
视为保留的命名空间。您当然可以使用自己的特定于应用程序的查询选项;只是不要在它们前面加上$
从请求URI(如
http://host/path?markdown=true
在控制器方法中,使用扩展方法。另请参见。因为您使用的是ASP.NET,所以也可以只使用常规
例如,具有以下原型的ODataController
操作方法:
[EnableQuery]
public IQueryable<MyEntity> Get(string testParam = "")
OData参数$count
、$top
和$skip
都将得到遵守,您的自定义testParam
将在Get
方法中分配字符串“true”
http://your.machine/api/odata/myentity?$count=true&$top=10&$skip=0&testParam=true