我的程序正在將記錄寫入數據庫表。到目前爲止,它已經向這張表格寫了大約58個新記錄。突然間,我收到一條錯誤消息,提示「找不到或更改了行」。這很奇怪,因爲我插入了一條新記錄,而不是試圖找到一個或更新現有的記錄。下面是代碼的小位,我使用創建一個對象,然後插入到表:System.Data.Linq.ChangeConflictException?行未找到或更改?但是,我插入,而不是更新
// create new comment object
var comment = new Comment
{
TableName = "Circuit",
TableKey = circuitId,
Text = remarks,
CreatedOn = DateTime.Now,
CreatedByName = "loadCC03Circuits",
CreatedByUupic = "000000000"
};
cimsContext.Comments.InsertOnSubmit(comment);
cimsContext.SubmitChanges();
我不太知道該怎麼辦,在這一點上。每個字段都有一個值,沒有空值。而且,正如我所說的,在這種情況發生之前,已經有58條記錄被這個相同的代碼寫出來,除了數據關閉之外(根據調試器會話中的字段值,這些記錄不是)我是不太確定還有什麼要檢查的。有什麼建議?
編輯:我在下面添加了一個答案,使這個問題消失。但是,我不確定這個解決方案爲什麼起作用。
你看過這個問題嗎? http://stackoverflow.com/questions/8851482/linq-row-not-found-or-changed – Chizzle
我做到了。當他們從表中讀取記錄,修改記錄,然後更新記錄時,就會出現這個問題。就我而言,我只是想插入一條新紀錄。這讓我感到困惑:它說「行未找到或改變......」但我不想找一排或改變一個;我插入一個新的。 – Kevin
您會看到關於可空列不匹配模型的第二個答案?可能是這樣,只是一個鏡頭 – Chizzle