簡體   English   中英

如何從Entity Framework更新主鍵?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM