DbContext.SaveChangesAsync 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
| 名稱 | Description |
|---|---|
| SaveChangesAsync(Boolean, CancellationToken) |
在此情境下所做的所有變更都會儲存到資料庫中。 |
| SaveChangesAsync(CancellationToken) |
在此情境下所做的所有變更都會儲存到資料庫中。 |
SaveChangesAsync(Boolean, CancellationToken)
- 來源:
- DbContext.cs
- 來源:
- DbContext.cs
- 來源:
- DbContext.cs
- 來源:
- DbContext.cs
- 來源:
- DbContext.cs
- 來源:
- DbContext.cs
- 來源:
- DbContext.cs
- 來源:
- DbContext.cs
- 來源:
- DbContext.cs
- 來源:
- DbContext.cs
- 來源:
- DbContext.cs
在此情境下所做的所有變更都會儲存到資料庫中。
public virtual System.Threading.Tasks.Task<int> SaveChangesAsync(bool acceptAllChangesOnSuccess, System.Threading.CancellationToken cancellationToken = default);
abstract member SaveChangesAsync : bool * System.Threading.CancellationToken -> System.Threading.Tasks.Task<int>
override this.SaveChangesAsync : bool * System.Threading.CancellationToken -> System.Threading.Tasks.Task<int>
Public Overridable Function SaveChangesAsync (acceptAllChangesOnSuccess As Boolean, Optional cancellationToken As CancellationToken = Nothing) As Task(Of Integer)
參數
- acceptAllChangesOnSuccess
- Boolean
表示 AcceptAllChanges() 是否在變更成功傳送至資料庫後被呼叫。
- cancellationToken
- CancellationToken
A CancellationToken 在等待任務完成時觀察。
傳回
代表非同步儲存操作的任務。 任務結果包含寫入資料庫的狀態條目數量。
例外狀況
儲存到資料庫時會遇到錯誤。
在儲存到資料庫時會遇到並行違規。 當存檔過程中影響到意外數量的列時,就發生了並行違規。 這通常是因為資料庫中的資料自載入記憶體後已被修改。
備註
此方法會自動呼叫 DetectChanges() 以發現實體實例的任何變更,然後再儲存到底層資料庫。 此功能可透過 AutoDetectChangesEnabled關閉。
Entity Framework Core 不支援在同一個 DbContext 實例上執行多個平行操作。 這包括平行執行非同步查詢,以及明確同時使用多個執行緒。 因此,務必立即等待非同步呼叫,或使用獨立的 DbContext 實例來執行平行執行的操作。 更多資訊與範例請參見 「避免 DbContext 執行緒問題 」。
更多資訊與範例請參見 EF Core 中儲存資料 。
適用於
SaveChangesAsync(CancellationToken)
- 來源:
- DbContext.cs
- 來源:
- DbContext.cs
- 來源:
- DbContext.cs
- 來源:
- DbContext.cs
- 來源:
- DbContext.cs
- 來源:
- DbContext.cs
- 來源:
- DbContext.cs
- 來源:
- DbContext.cs
- 來源:
- DbContext.cs
- 來源:
- DbContext.cs
- 來源:
- DbContext.cs
在此情境下所做的所有變更都會儲存到資料庫中。
public virtual System.Threading.Tasks.Task<int> SaveChangesAsync(System.Threading.CancellationToken cancellationToken = default);
abstract member SaveChangesAsync : System.Threading.CancellationToken -> System.Threading.Tasks.Task<int>
override this.SaveChangesAsync : System.Threading.CancellationToken -> System.Threading.Tasks.Task<int>
Public Overridable Function SaveChangesAsync (Optional cancellationToken As CancellationToken = Nothing) As Task(Of Integer)
參數
- cancellationToken
- CancellationToken
A CancellationToken 在等待任務完成時觀察。
傳回
代表非同步儲存操作的任務。 任務結果包含寫入資料庫的狀態條目數量。
例外狀況
儲存到資料庫時會遇到錯誤。
在儲存到資料庫時會遇到並行違規。 當存檔過程中影響到意外數量的列時,就發生了並行違規。 這通常是因為資料庫中的資料自載入記憶體後已被修改。
備註
此方法會自動呼叫 DetectChanges() 以發現實體實例的任何變更,然後再儲存到底層資料庫。 此功能可透過 AutoDetectChangesEnabled關閉。
Entity Framework Core 不支援在同一個 DbContext 實例上執行多個平行操作。 這包括平行執行非同步查詢,以及明確同時使用多個執行緒。 因此,務必立即等待非同步呼叫,或使用獨立的 DbContext 實例來執行平行執行的操作。 更多資訊與範例請參見 「避免 DbContext 執行緒問題 」。
更多資訊與範例請參見 EF Core 中儲存資料 。