在ef core中你可能會設計這樣一個實體: 意思就是:一個顧客可能有上級顧客,同時也可能有多個孩子顧客。 當我們在進行數據遷移的時候會報錯: 將 FOREIGN KEY 約束 '******' 引入表 'Customers' 可能會導致循環或多重級聯路徑。請指定 ...
之前也是經常遇到這個問題,但好在每次創建的實體不多,很容易就能找到是哪個外鍵導致級聯循環刪除問題 之前都是這么處理,因為創建的實體也不多,所以還處理得來 但最近跟別人合作寫后端,別人寫了好多實體,我一Update Database,傻了,我得一個個地處理。其實我也不太喜歡這個級聯刪除,是否刪除關聯實體應該由我自己來把握。那么可以這樣處理,這樣所以的外鍵刪除關聯都變成Restrict了 ...
2019-12-06 21:39 1 426 推薦指數:
在ef core中你可能會設計這樣一個實體: 意思就是:一個顧客可能有上級顧客,同時也可能有多個孩子顧客。 當我們在進行數據遷移的時候會報錯: 將 FOREIGN KEY 約束 '******' 引入表 'Customers' 可能會導致循環或多重級聯路徑。請指定 ...
錯誤提示:可能會導致循環或多重級聯路徑。請指定 ON DELETE NO ACTION 或 ON UPDATE NO ACTION,或修改其他 FOREIGN KEY 約束。 原因:自表連接(同一張表自己連接自己)不允許級聯刪除和級聯更新。 一、sql語句 二、發現 ...
ef中,我們創建外鍵的時候需要注意,否則會出現標題所示問題。 例:有項目表,項目收藏表,用戶表 項目表有如下字段:ProjectId,InputPersonId等 項目收藏表有如下字段:ProjectId,UseId等 用戶表有如下字段:用戶id等 項目表: 項目收藏表 ...
將 FOREIGN KEY 約束 'FK_dbo.' 引入表 ' ' 可能會導致循環或多重級聯路徑。請指定 ON DELETE NO ACTION 或 ON UPDATE NO ACTION,或修改其他 FOREIGN KEY 約束。 WillCascadeOnDelete 取消級聯刪除 ...
MySQL支持外鍵的存儲引擎只有InnoDB,在創建外鍵的時候,要求父表必須有對應的索引,子表在創建外鍵的時候也會自動創建對應的索引。在創建索引的時候,可以指定在刪除、更新父表時,對子表進行的相應操作,包括RESTRICT、NO ACTION、SET NULL和CASCADE。其中RESTRICT ...
. cascade方式在父表上update/delete記錄時,同步update/delete掉子表的匹配記錄 . set null方式在父表上update/delete記錄時,將子表上匹配記錄的列設為null要注意子表的外鍵列不能為not null . No action方式 ...
簡介 MySQL外鍵起到約束作用,在數據庫層面保證數據的完整性。例如使用外鍵的CASCADE類型,當子表(例如user_info)關聯父表(例如user)時,父表更新或刪除時,子表會更新或刪除記錄,這個過程是數據庫層面完成的。早期企業系統數據庫設計里面比較多,雖說幫程序員節省了delete ...
...