[英]How to update primary key from Entity Framework?
我有桌子
eventid int -- not PK key but with autoincrement
jobid -- PK autoincrement disabled
userid int -- PK autoincrement disabled
要更新jobID,我會執行以下操作:
var itemforupdate = context.table.where(n=>n.eventid == someparameter).FirstorDefault()
我正確地從數據庫中獲取項目,但在分配時:
itemforupdate.jobID = 5;
context.SaveChanges();
在context.SaveChanges()
我得到錯誤:
屬性“jobID”是對象的關鍵信息的一部分,無法修改
如何從Entity Framework更新jobID來解決這個問題?
使用EntityFramework更新主鍵列不是一個好習慣。 它會混淆EF,因為它會更改對象的身份,並使內存中的副本和數據庫的數據庫副本保持同步非常有問題。 所以這是不允許的。
只是不要更新主鍵。 而是刪除一行並插入一行。
或者,您可以使用存儲過程或其他查詢直接更新主鍵。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.