語言

DeleteBehavior 列舉

定義

表示當主體被刪除或關係中斷時,如何對關係中的相依實體執行刪除操作。

public enum DeleteBehavior
type DeleteBehavior = 
Public Enum DeleteBehavior
繼承
DeleteBehavior

欄位

名稱 值 Description
ClientSetNull 0

當對追蹤實體進行變更時,將外鍵值設定為 null 適當值,並在資料庫中建立非串接的外鍵約束。 這是可選關係的預設。

Restrict 1

當對追蹤實體進行變更時,將外鍵值設定為 null 適當值,並在資料庫中建立非串接的外鍵約束。

SetNull 2

當對追蹤實體進行變更時,會將外鍵值設定為 null 適當值,並在資料庫中建立外鍵約束,將值從主體傳遞 null 到依賴物件。

Cascade 3

當主體被刪除或與主體的關係中斷時,會自動刪除相依實體,並在資料庫中建立一個啟用串接刪除的外鍵約束。 這是必須建立關係的預設方式。

ClientCascade 4

當主體被刪除或與主體的關係中斷時,會自動刪除相依實體,但在資料庫中建立非級聯的外鍵約束。

NoAction 5

當對追蹤實體進行變更時,將外鍵值設定為 null 適當值,並在資料庫中建立非串接的外鍵約束。

ClientNoAction 6

追蹤的依賴物件不會被刪除,且其外鍵值在刪除主要實體時也不會設定為 。null 資料庫中會建立一個非串接的外鍵約束。

SetDefault 7

當對追蹤實體進行變更時,會將外鍵值設定為預設值,並在資料庫中建立外鍵限制,當主體被刪除時,將外鍵值設為預設值。

ClientSetDefault 8

當對追蹤實體進行變更時,會將外鍵值設為哨兵值,但在資料庫中建立非串接的外鍵限制。

備註

資料庫中的行為依賴於適當建立的資料庫結構。 當使用 Entity Framework 遷移或使用其中一種https://learn.microsoft.com/dotnet/api/microsoft.entityframeworkcore.infrastructure.databasefacade.ensurecreated或https://learn.microsoft.com/dotnet/api/microsoft.entityframeworkcore.infrastructure.databasefacade.ensurecreatedasync

更多資訊與範例請參見 EF Core 中的 Cascade 刪除與刪除孤兒 。

適用於