语言

DbContext.SaveChangesAsync 方法

定义

重载

名称 说明
SaveChangesAsync(Boolean, CancellationToken)

将此上下文中所做的所有更改保存到数据库。

SaveChangesAsync(CancellationToken)

将此上下文中所做的所有更改保存到数据库。

SaveChangesAsync(Boolean, CancellationToken)

Source:
DbContext.cs
Source:
DbContext.cs
Source:
DbContext.cs
Source:
DbContext.cs
Source:
DbContext.cs
Source:
DbContext.cs
Source:
DbContext.cs
Source:
DbContext.cs
Source:
DbContext.cs
Source:
DbContext.cs
Source:
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 。

返回

表示异步保存操作的任务。 任务结果包含写入数据库的状态条目数。

例外

保存到数据库时遇到错误。

保存到数据库时遇到并发冲突。 在保存期间影响意外数量的行时,会发生并发冲突。 这通常是因为数据库中的数据自加载到内存后已被修改。

如果取消了该操作 CancellationToken 。

注解

在保存到基础数据库之前,此方法会自动调用 DetectChanges() 以发现实体实例的任何更改。 可以通过 . 禁用 AutoDetectChangesEnabled此功能。

Entity Framework Core不支持在同一 DbContext 实例上运行多个并行操作。 这包括异步查询的并行执行以及从多个线程进行的任何显式并发使用。 因此,请始终立即等待异步调用,或者对并行执行的操作使用单独的 DbContext 实例。 有关详细信息和示例,请参阅 避免 DbContext 线程问题 。

有关详细信息和示例,请参阅 在 EF Core 中保存数据 。

适用于

SaveChangesAsync(CancellationToken)

Source:
DbContext.cs
Source:
DbContext.cs
Source:
DbContext.cs
Source:
DbContext.cs
Source:
DbContext.cs
Source:
DbContext.cs
Source:
DbContext.cs
Source:
DbContext.cs
Source:
DbContext.cs
Source:
DbContext.cs
Source:
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 。

返回

表示异步保存操作的任务。 任务结果包含写入数据库的状态条目数。

例外

保存到数据库时遇到错误。

保存到数据库时遇到并发冲突。 在保存期间影响意外数量的行时,会发生并发冲突。 这通常是因为数据库中的数据自加载到内存后已被修改。

如果取消了该操作 CancellationToken 。

注解

在保存到基础数据库之前,此方法会自动调用 DetectChanges() 以发现实体实例的任何更改。 可以通过 . 禁用 AutoDetectChangesEnabled此功能。

Entity Framework Core不支持在同一 DbContext 实例上运行多个并行操作。 这包括异步查询的并行执行以及从多个线程进行的任何显式并发使用。 因此,请始终立即等待异步调用,或者对并行执行的操作使用单独的 DbContext 实例。 有关详细信息和示例,请参阅 避免 DbContext 线程问题 。

有关详细信息和示例,请参阅 在 EF Core 中保存数据 。

适用于