简体   繁体   English

Web API OData EnableLowerCamelCase

[英]Web API OData EnableLowerCamelCase

I have a Web API 2 application using OData and I need to expose the model properties in lower camel case as they are being serialized. 我有一个使用OData的Web API 2应用程序,我需要在较低的驼峰情况下公开模型属性,因为它们被序列化。

There is a EnableLowerCamelCase method that appears to do this but I can't get it to be recognized by the compiler. 有一个EnableLowerCamelCase方法似乎这样做但我不能让它被编译器识别。 There is even a sample on CodePlex using OData 6.5.0 that shows EnableLowerCamelCase . CodePlex上甚至还有一个使用OData 6.5.0 显示EnableLowerCamelCase的示例。

ODataModelBuilder builder = new ODataConventionModelBuilder();
builder.EnableLowerCamelCase(); // <-- this won't compile

Has EnableLowerCamelCase been removed? EnableLowerCamelCase已被删除? What am I missing? 我错过了什么?

I am using the following package versions: 我使用以下包版本:

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="Antlr" version="3.5.0.2" targetFramework="net45" />
  <package id="elmah" version="1.2.2" targetFramework="net45" />
  <package id="elmah.corelibrary" version="1.2.2" targetFramework="net45" />
  <package id="Microsoft.AspNet.Mvc" version="5.2.0" targetFramework="net45" />
  <package id="Microsoft.AspNet.OData" version="5.3.0" targetFramework="net45" />
  <package id="Microsoft.AspNet.Razor" version="3.2.0" targetFramework="net45" />
  <package id="Microsoft.AspNet.WebApi" version="5.2.2" targetFramework="net45" />
  <package id="Microsoft.AspNet.WebApi.Client" version="5.2.2" targetFramework="net45" />
  <package id="Microsoft.AspNet.WebApi.Core" version="5.2.2" targetFramework="net45" />
  <package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.2" targetFramework="net45" />
  <package id="Microsoft.AspNet.WebPages" version="3.2.0" targetFramework="net45" />
  <package id="Microsoft.OData.Core" version="6.8.0" targetFramework="net45" />
  <package id="Microsoft.OData.Edm" version="6.8.0" targetFramework="net45" />
  <package id="Microsoft.Spatial" version="6.8.0" targetFramework="net45" />
  <package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net45" />
  <package id="Newtonsoft.Json" version="6.0.5" targetFramework="net45" />
</packages>

Simply change 简单地改变

ODataModelBuilder builder = new ODataConventionModelBuilder();

to

ODataConventionModelBuilder builder = new ODataConventionModelBuilder();

or 要么

var builder = new ODataConventionModelBuilder();

and it should compile. 它应该编译。 I tested it using the latest ASP.NET Web API 2.2 for OData v4.0 (v5.3.1). 我使用最新的ASP.NET Web API 2.2 for OData v4.0(v5.3.1)进行了测试。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM