Asp.net mvc ASP.NET 5和MVC 6中的OData:在ASP.NET 5和MVC 6中搜索OData功能路径替代方案
我正在将我的项目从ASP.NET4和MVC5转换为ASP.NET5和MVC6。我已经在我的旧项目中实现了OData。我开始使用在 我已经包括了示例项目和“Microsoft.AspNet.OData”项目 我正在尝试实现ODataRoute,如下代码所示Asp.net mvc ASP.NET 5和MVC 6中的OData:在ASP.NET 5和MVC 6中搜索OData功能路径替代方案,asp.net-mvc,odata,asp.net-core,Asp.net Mvc,Odata,Asp.net Core,我正在将我的项目从ASP.NET4和MVC5转换为ASP.NET5和MVC6。我已经在我的旧项目中实现了OData。我开始使用在 我已经包括了示例项目和“Microsoft.AspNet.OData”项目 我正在尝试实现ODataRoute,如下代码所示 [HttpGet] [ODataRoute("GetSalesTaxRate(PostalCode={postalCode})")] public IHttpActionResult GetSalesTaxRate([FromODataUri
[HttpGet]
[ODataRoute("GetSalesTaxRate(PostalCode={postalCode})")]
public IHttpActionResult GetSalesTaxRate([FromODataUri] int postalCode)
{
double rate = 5.6; // Use a fake number for the sample.
return Ok(rate);
}
能够使用如下语法调用函数
GET http://localhost:38479/GetSalesTaxRate(PostalCode=10) HTTP/1.1
我没有在代码中找到ODataRoute。有人能告诉我如何使用ASP.NET 5中最新的OData包实现类似的功能吗?您需要将OData函数声明为model builder配置的一部分
ODataModelBuilder builder = new ODataConventionModelBuilder();
builder.Function("GetSalesTaxRate")
.Returns<double>()
.Parameter<int>("PostalCode");
ODataModelBuilder=new ODataConventionModelBuilder();
builder.Function(“GetSalesTaxRate”)
.Returns()
.参数(“后代码”);
您真的需要vNext的功能吗?如果没有,您应该在上使用最新版本的软件包。您对此有任何参考示例吗..我注意到,即使包含此软件包,也很少有东西不起作用..比如我没有找到AddOdata方法或useOdata方法。AddOdata
和useOdata
是vNext.isnt vNext和asp.net独有的方法,mvc不一样。只是再问一次。我不需要给ODataRoute属性。我看到在我以前的mvc 5应用程序中,它既是model builder的一部分,也是route的一部分。我希望您讨论的是ASP.net 5和MVC6。是的,您仍然需要像在示例代码中那样指定路由。您尝试实现的函数记录在“示例:添加未绑定函数”下。这些odata函数选项在最新的asp.net 5中不可用,并且mvc6OData不是asp.net内置的。您需要将Microsoft.AspNet.OData
包添加到项目中。从我这里得到它。有关详细信息,请参阅“”。