C# 将post与oData一起使用

C# 将post与oData一起使用,c#,asp.net-web-api,odata,C#,Asp.net Web Api,Odata,我有一个使用oData的应用程序。到目前为止,我只使用了http get请求。我也想开始使用http post请求。我在Web API中获得了以下代码: 在WebAoucConfig中,我有: var queryPostAction = builder.Function("QueryPostAction"); queryPostAction.ReturnsCollection<Test>(); queryPostAction.Parameter<string>("Quer

我有一个使用oData的应用程序。到目前为止,我只使用了http get请求。我也想开始使用http post请求。我在Web API中获得了以下代码: 在WebAoucConfig中,我有:

var queryPostAction = builder.Function("QueryPostAction");
queryPostAction.ReturnsCollection<Test>();
queryPostAction.Parameter<string>("Query");

我在自定义函数控制器中设置了一个制动点,但我根本没有点击它


var test=DataConnection.context.querypostation(Query=“test”)

尝试调用下面的方法


var test=DataConnection.context.querypostation(Query=“test”)

它不起作用的原因是,
函数
只能通过GET请求和使用
POST
请求的操作调用<代码>函数参数需要在URL查询中,并且
操作
作为请求主体(JSON格式,键值)

对于
操作
请求,您不能简单地在函数中添加参数。访问参数的方法是使用
ODataActionParameters

尝试如下:

-var querypostation=builder.Function(“querypostation”);
+var querypostation=builder.Action(“querypostation”);
querypostation.ReturnsCollection();
querypostation.Parameter(“查询”);
[HttpPost]
[ODataRoute(“查询定位”)]
-公共IHttpActionResult查询定位(字符串查询)
+公共IHttpActionResult查询定位(ODataActionParameters)
{
List listTest=新列表();
+字符串查询=参数[“查询”];
返回Ok(列表测试);
}

您可以在此处找到更多详细信息和示例:

它不起作用的原因是,只能通过GET请求调用
函数
,并使用
POST
请求调用操作<代码>函数参数需要在URL查询中,并且
操作
作为请求主体(JSON格式,键值)

对于
操作
请求,您不能简单地在函数中添加参数。访问参数的方法是使用
ODataActionParameters

尝试如下:

-var querypostation=builder.Function(“querypostation”);
+var querypostation=builder.Action(“querypostation”);
querypostation.ReturnsCollection();
querypostation.Parameter(“查询”);
[HttpPost]
[ODataRoute(“查询定位”)]
-公共IHttpActionResult查询定位(字符串查询)
+公共IHttpActionResult查询定位(ODataActionParameters)
{
List listTest=新列表();
+字符串查询=参数[“查询”];
返回Ok(列表测试);
}
您可以在此处找到更多详细信息和示例:

[HttpPost]
[ODataRoute("QueryPostAction")]
public IHttpActionResult QueryPostAction(string Query)
{
    List<Test> listTest = new List<Test>();  
    return Ok(listTest);
}
var test = DataConnection.context.QueryPostAction("test");