之前也是經常遇到這個問題,但好在每次創建的實體不多,很容易就能找到是哪個外鍵導致級聯迴圈刪除問題 之前都是這麼處理,因為創建的實體也不多,所以還處理得來 但最近跟別人合作寫後端,別人寫了好多實體,我一Update-Database,傻了,我得一個個地處理。其實我也不太喜歡這個級聯刪除,是否刪除關聯實 ...
之前也是經常遇到這個問題,但好在每次創建的實體不多,很容易就能找到是哪個外鍵導致級聯迴圈刪除問題
之前都是這麼處理,因為創建的實體也不多,所以還處理得來
但最近跟別人合作寫後端,別人寫了好多實體,我一Update-Database,傻了,我得一個個地處理。
其實我也不太喜歡這個級聯刪除,是否刪除關聯實體應該由我自己來把握。那麼可以這樣處理,這樣所以的外鍵刪除關聯都變成Restrict了
var foreignKeys = modelBuilder.Model.GetEntityTypes().SelectMany(e => e.GetForeignKeys()).Where(fk => fk.DeleteBehavior == DeleteBehavior.Cascade); foreach (var fk in foreignKeys) { fk.DeleteBehavior = DeleteBehavior.Restrict; }