我會簡化我的問題。我有1類具有這些屬性: 標識 IdFollower 一些列...實體框架,與另一個實體在一個標識列SaveChanges
與ID = 1。然後我就現有的實體,我想創建一個又一個,並設置IdFollower從一個新的一個現有ID爲。
是否有可能使它只有一個SaveChanges
。我嘗試過但沒有運氣。例如:
var existing = context.class.Find(1);
var nextInLine = new class(){....}
context.class.Add(nextInLine);
existing.IdFollower = nextInLine.Id
context.SaveChanges();
我預計EF知道什麼nextInLine是新的記錄(它的狀態是Added
),並不會寫「0」 IdFollower
現有的實體,而是先救nextInLine,得到它的標識和寫入標識在現有的實體中,然後保存現有的實體。
現在我正在使用它,所以我在context.class.Add(nextInLine)
之後有一個額外的SaveChanges()
。所以最後它看起來像:
var nextInLine = new class(){....}
context.class.Add(nextInLine);
context.SaveChanges();
existing.IdFollower = nextInLine.Id
context.SaveChanges();
我已經使用到目前爲止另一個ORM,但我想切換到EF。這個「問題」在ORM中不存在。
它可能與1 SaveChanges()
。
我試過了(我沒有自引用鏈接)。感謝名單。它總體上合理!歡迎使用 – Bubbi
;) – octavioccl