DbContext.AddAsync 方法

定義

多載

AddAsync(Object, CancellationToken)

開始追蹤指定的實體,以及尚未追蹤的任何其他可連線實體, Added 處於狀態,以便在呼叫 時 SaveChanges() 插入資料庫。

AddAsync<TEntity>(TEntity, CancellationToken)

開始追蹤指定的實體,以及尚未追蹤的任何其他可連線實體, Added 處於狀態,以便在呼叫 時 SaveChanges() 插入資料庫。

AddAsync(Object, CancellationToken)

開始追蹤指定的實體,以及尚未追蹤的任何其他可連線實體, Added 處於狀態,以便在呼叫 時 SaveChanges() 插入資料庫。

public virtual System.Threading.Tasks.Task<Microsoft.EntityFrameworkCore.ChangeTracking.EntityEntry> AddAsync (object entity, System.Threading.CancellationToken cancellationToken = default);
public virtual System.Threading.Tasks.ValueTask<Microsoft.EntityFrameworkCore.ChangeTracking.EntityEntry> AddAsync (object entity, System.Threading.CancellationToken cancellationToken = default);
abstract member AddAsync : obj * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Microsoft.EntityFrameworkCore.ChangeTracking.EntityEntry>
override this.AddAsync : obj * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Microsoft.EntityFrameworkCore.ChangeTracking.EntityEntry>
abstract member AddAsync : obj * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<Microsoft.EntityFrameworkCore.ChangeTracking.EntityEntry>
override this.AddAsync : obj * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<Microsoft.EntityFrameworkCore.ChangeTracking.EntityEntry>
Public Overridable Function AddAsync (entity As Object, Optional cancellationToken As CancellationToken = Nothing) As Task(Of EntityEntry)
Public Overridable Function AddAsync (entity As Object, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of EntityEntry)

參數

entity
Object

要加入的實體。

cancellationToken
CancellationToken

CancellationToken等候工作完成時要觀察的 。

傳回

表示非同步加入作業的工作。 工作結果包含 EntityEntry 實體的 。 專案可讓您存取實體的變更追蹤資訊和作業。

例外狀況

備註

使用 State 僅設定單一實體的狀態。

這個方法是非同步,只允許特殊值產生器,例如 'Microsoft.EntityFrameworkCore.Metadata.SqlServerValueGenerationStrategy.SequenceHiLo' 用來以非同步方式存取資料庫。 針對所有其他情況,應該使用非非同步方法。

Entity Framework Core 不支援在相同的 DbCoNtext 實例上執行多個平行作業。 這包括平行執行非同步查詢,以及明確同時使用多個執行緒。 因此,請一律立即等候非同步呼叫,或針對平行執行的作業使用個別的 DbCoNtext 實例。 如需詳細資訊和範例 ,請參閱避免 DbCoNtext 執行緒問題

如需詳細資訊和範例,請參閱 EF Core 變更追蹤

適用於

AddAsync<TEntity>(TEntity, CancellationToken)

開始追蹤指定的實體,以及尚未追蹤的任何其他可連線實體, Added 處於狀態,以便在呼叫 時 SaveChanges() 插入資料庫。

public virtual System.Threading.Tasks.Task<Microsoft.EntityFrameworkCore.ChangeTracking.EntityEntry<TEntity>> AddAsync<TEntity> (TEntity entity, System.Threading.CancellationToken cancellationToken = default) where TEntity : class;
public virtual System.Threading.Tasks.ValueTask<Microsoft.EntityFrameworkCore.ChangeTracking.EntityEntry<TEntity>> AddAsync<TEntity> (TEntity entity, System.Threading.CancellationToken cancellationToken = default) where TEntity : class;
abstract member AddAsync : 'Entity * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Microsoft.EntityFrameworkCore.ChangeTracking.EntityEntry<'Entity>> (requires 'Entity : null)
override this.AddAsync : 'Entity * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Microsoft.EntityFrameworkCore.ChangeTracking.EntityEntry<'Entity>> (requires 'Entity : null)
abstract member AddAsync : 'Entity * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<Microsoft.EntityFrameworkCore.ChangeTracking.EntityEntry<'Entity>> (requires 'Entity : null)
override this.AddAsync : 'Entity * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<Microsoft.EntityFrameworkCore.ChangeTracking.EntityEntry<'Entity>> (requires 'Entity : null)
Public Overridable Function AddAsync(Of TEntity As Class) (entity As TEntity, Optional cancellationToken As CancellationToken = Nothing) As Task(Of EntityEntry(Of TEntity))
Public Overridable Function AddAsync(Of TEntity As Class) (entity As TEntity, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of EntityEntry(Of TEntity))

類型參數

TEntity

實體的型別。

參數

entity
TEntity

要加入的實體。

cancellationToken
CancellationToken

CancellationToken等候工作完成時要觀察的 。

傳回

Task<EntityEntry<TEntity>>

表示非同步加入作業的工作。 工作結果包含 EntityEntry<TEntity> 實體的 。 專案可讓您存取實體的變更追蹤資訊和作業。

例外狀況

備註

這個方法是非同步,只允許特殊值產生器,例如 'Microsoft.EntityFrameworkCore.Metadata.SqlServerValueGenerationStrategy.SequenceHiLo' 用來以非同步方式存取資料庫。 針對所有其他情況,應該使用非非同步方法。

Entity Framework Core 不支援在相同的 DbCoNtext 實例上執行多個平行作業。 這包括平行執行非同步查詢,以及明確同時使用多個執行緒。 因此,請一律立即等候非同步呼叫,或針對平行執行的作業使用個別的 DbCoNtext 實例。 如需詳細資訊和範例 ,請參閱避免 DbCoNtext 執行緒問題

如需詳細資訊和範例,請參閱 EF Core 變更追蹤

適用於