Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# OData(创建自定义)查询选项_C#_Asp.net_Asp.net Mvc_Asp.net Web Api_Odata - Fatal编程技术网

C# OData(创建自定义)查询选项

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 类似于计数查询选项 谢谢美元符号前缀只能与系统查询选

我需要创建一个自定义查询选项,老实说,我不知道从哪里开始。我不知道它们是如何创建的,也不知道是什么类处理它们。 在我的项目中,我使用了标记,但我还需要启用(在这种情况下,标记的文本将被标记)或禁用(在这种情况下,我将使用纯文本)

此时,我的解决方案是向函数发送一个参数,并告诉它何时启用/禁用

例:

…/…/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