我有這樣的功能:「無法插入的標識列顯式值......」即使我不
private static void SaveResource(StrategicPlanningDbDataContext ctx, ResourceModel resource, int impliedID)
{
var existing = ctx.Resources.FirstOrDefault(r => r.ID == resource.ID) ??
new Resource();
existing.ImpliedID = impliedID;
existing.HasAccepted = resource.HasAccepted;
existing.IsPrimary = existing.IsPrimary;
existing.UserID = resource.UserID;
if (existing.ID == default(int))
{
ctx.Resources.InsertOnSubmit(existing);
ctx.SubmitChanges();
resource.ID = existing.ID;
}
}
我得到一個Cannot insert explicit value for identity column in table 'Resource' when IDENTITY_INSERT is set to OFF.
消息時,我打ctx.SubmitChanges()一新的Resource
。 Resource.ID
是一個身份(顯然)。當我們進入函數時它是0(因爲我剛剛創建它,並且int
顯然必須具有默認值。)
我試過從我的dbml中刪除表並重新添加它幾次,但是我不斷收到這個錯誤。我檢查了設計師,設計師有[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ID", AutoSync=AutoSync.OnInsert, DbType="Int NOT NULL IDENTITY", IsPrimaryKey=true, IsDbGenerated=true)]
ID屬性之上。
任何想法?