C# 名称';集装箱';Web API OData中不允许作为实体

C# 名称';集装箱';Web API OData中不允许作为实体,c#,odata,asp.net-web-api,asp.net-web-api-odata,C#,Odata,Asp.net Web Api,Asp.net Web Api Odata,我的实体列表包括一个名为“容器”的实体。(我的公司经常处理集装箱,这是一个相当“一成不变”的术语。) 因此,当我为它们建模数据时,我自然地将它们称为容器 这意味着我有一个名为Container的类 我刚刚完成了为WebAPI OData连接所有控制器的工作,当我尝试使用它编译客户端时,我得到了一个错误。(我正在使用WCF数据服务客户端nuget包。) 错误是因为存在我的实体的容器部分类和另一个包含所有根级别集合的部分类,也称为容器。(注意:对于通过OData的WCF数据服务版本运行相同实体的服务

我的实体列表包括一个名为“容器”的实体。(我的公司经常处理集装箱,这是一个相当“一成不变”的术语。)

因此,当我为它们建模数据时,我自然地将它们称为容器

这意味着我有一个名为
Container
的类

我刚刚完成了为WebAPI OData连接所有控制器的工作,当我尝试使用它编译客户端时,我得到了一个错误。(我正在使用WCF数据服务客户端nuget包。)

错误是因为存在我的实体的
容器
部分类和另一个包含所有根级别集合的部分类,也称为
容器
。(注意:对于通过OData的WCF数据服务版本运行相同实体的服务,我没有收到此错误。)

因此,我的问题是:有没有办法让一个名为
Container
的实体通过Web Api OData公开它?
(并且不获取客户端编译时错误)


注意:如果尝试重新编程,如果名为“容器”的实体与同样是根项的某物关联,则会发生错误(因此它包含在名为“Cntainer”的DataServiceContext类中。例如,如果容器有一个可能的ContainerTypes列表,并且有一个ContainerTypes的根列表,那么parital类尝试合并,并且存在冲突。

生成ODataModelBuilder(用于定义所有实体集)具有ContainerName属性

提供与默认“容器”不同名称的设置


请将您的答案标记为答案。实际上,您的回答解决了相同的问题。
ODataModelBuilder builder = new ODataConventionModelBuilder();
builder.ContainerName = "YourCustomContainerNameHere";