1
我正在使用實體框架4.3.1,我試圖插入一個新的記錄到我的ProductVersion
實體是基於。實體框架插入行與複合鍵
ProductVersion
實體有2個屬性組成表和ProductOrdinal
表的組合主鍵。
每當有人更新產品條目時,我正在創建一個ProductVersion
實體並將其傳遞迴我的存儲庫,增加ProductOrdinal
屬性,並嘗試將實體添加到上下文中並保存它。
我不斷收到以下錯誤:
The property 'ProductOrdinal' is part of the object's key information and cannot be modified.
既不構成的自動編號的鍵列,我已經註釋在我的POCO的屬性有以下:
[Key, Column("PROD_Ordinal", Order=2), DatabaseGenerated(DatabaseGeneratedOption.None)]
public long ProductOrdinal { get; set; }
從異常和您的描述看來,您正在增加現有'ProductVersion'實例上的'ProductOrdinal'屬性並嘗試保存它。 您可能想要做的是從現有實例中創建一個'ProductVersion'的新實例,並增加'ProductOrdinal'屬性並保存新實例。 – alwayslearning 2012-04-12 16:08:03
我會檢查一下。我想你可能是對的。 – Maxmanzero 2012-04-12 16:17:11
你是完全正確的。上下文仍然是打開的,所以當我更新「當前」對象並進行了比較時,我已經更新了相同的對象,並且抱怨我正在嘗試更新已插入的密鑰。 – Maxmanzero 2012-04-12 19:01:12