2014-10-02 42 views
0

在網絡API 2.2 WebApiConfig.cs:由實體數據模型嚮導生成網絡API 2.2的OData V4不能識別主鍵

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

客戶實體。 當我嘗試加載它返回錯誤「客戶實體沒有密鑰」

即使CSDL文件指定的主鍵,它與網絡API操作的運作實體「從數據庫EF設計師」

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

解決方法是在模型中手動添加[Key]註釋屬性。

問題:這是一個錯誤嗎?如何解決此問題,而無需手動編輯任何內容以指定每個實體的主鍵?

回答

0

在您的CSDL示例中,您沒有使用「/>」關閉PropertyRef標記。這個XML語法錯誤可能會忽略客戶密鑰。

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