Web API 2.2 OData V4无法识别主键

时间:2014-10-02 18:09:50

标签: entity-framework asp.net-web-api odata asp.net-web-api2

在Web API 2.2 WebApiConfig.cs中:

ODataModelBuilder builder=new ODataConventionModelBuilder();
builder.EntitySet<Customer>("Customers")

客户实体由实体数据模型向导生成。 &#34;来自数据库的EF Designer&#34; 当我尝试加载实体时,它返回错误&#34;客户实体没有密钥&#34;

即使CSDL文件指定了主键,它也适用于Web API操作

<Key>
<PropertyRef Name="CustomerID">
</Key>
...

解决方法是在模型中手动添加[Key]注释属性。

问题:这是一个错误吗?如何解决此问题,而无需手动编辑任何内容以指定每个实体的主键?

1 个答案:

答案 0 :(得分:0)

在您的CSDL示例中,您没有使用&#34; /&gt;&#34;关闭PropertyRef标记。此XML语法错误可能会忽略客户密钥。

<Key>
<PropertyRef Name="CustomerID" />
</Key>
...