1
我正在使用實體框架,我有一個場景,我傳遞了一個設計不正確的數據庫,我無法對其進行任何修改,因此請和我一起裸照。實體框架在插入時自引用主鍵
當我插入新記錄並自動生成自動標識值時。然後,我必須隨後使用在初始插入時生成的相同ID更新同一個表中的列。我能看到這個成就的唯一方法是首先保存,獲得新的PK,然後進行更新。但是,有沒有其他方式可以在1個數據庫調用中完成?我知道我可以很容易地用存儲過程來完成這個任務,但是現在我沒有這個選項。請參閱下面的表結構。
人 是PersonID INT(自動識別) 名字 姓氏 HeadOfHouseholdID此表
我不認爲你可以通過一次調用來做到這一點(除非你可以使用存儲的proc/insert觸發器/等,你說你不能)。鑑於您需要設置字段,請確保將調用包裝在事務中,以便在任何一個失敗時不插入記錄。開始事務 - >保存記錄(插入) - >修改記錄 - >保存記錄(更新) - >提交事務 – AndrewP
沒有必要存儲該信息,簡單規則將執行相同的操作:如果HeadOfHouseHoldID是空獲取PersonID –
@SirRufo不是我的設計,根本不能修改數據庫。他們在視圖中使用該列,並且必須填充它才能工作。這是一個奇怪的場景。 – Scott