語言

DbContext.AddAsync 方法

定義

多載

名稱 Description
AddAsync(Object, CancellationToken)

開始追蹤指定實體及尚未被追蹤 Added 的其他可達實體,使其在呼叫時 SaveChanges() 插入資料庫。

AddAsync<TEntity>(TEntity, CancellationToken)

開始追蹤指定實體及尚未被追蹤 Added 的其他可達實體,使其在呼叫時 SaveChanges() 插入資料庫。

AddAsync(Object, CancellationToken)

來源:
DbContext.cs
來源:
DbContext.cs
來源:
DbContext.cs
來源:
DbContext.cs
來源:
DbContext.cs
來源:
DbContext.cs
來源:
DbContext.cs
來源:
DbContext.cs
來源:
DbContext.cs
來源:
DbContext.cs
來源:
DbContext.cs

開始追蹤指定實體及尚未被追蹤 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

A CancellationToken 在等待任務完成時觀察。

傳回

一個代表非同步加法操作的任務。 任務結果包含該實體的 。EntityEntry 該條目提供實體的變更追蹤資訊及營運權限。

例外狀況

備註

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

此方法僅為非同步,以允許特殊值產生器,例如「Microsoft」所使用的。EntityFrameworkCore.Metadata.SqlServerValueGenerationStrategy.SequenceHiLo',以非同步方式存取資料庫。 其他情況應使用非同步方法。

Entity Framework Core 不支援在同一個 DbContext 實例上執行多個平行操作。 這包括平行執行非同步查詢,以及明確同時使用多個執行緒。 因此,務必立即等待非同步呼叫,或使用獨立的 DbContext 實例來執行平行執行的操作。 更多資訊與範例請參見 「避免 DbContext 執行緒問題 」。

更多資訊與範例請參閱 EF Core 變更追蹤 。

適用於

AddAsync<TEntity>(TEntity, CancellationToken)

來源:
DbContext.cs
來源:
DbContext.cs
來源:
DbContext.cs
來源:
DbContext.cs
來源:
DbContext.cs
來源:
DbContext.cs
來源:
DbContext.cs
來源:
DbContext.cs
來源:
DbContext.cs
來源:
DbContext.cs
來源:
DbContext.cs

開始追蹤指定實體及尚未被追蹤 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

A CancellationToken 在等待任務完成時觀察。

傳回

Task<EntityEntry<TEntity>>

一個代表非同步加法操作的任務。 任務結果包含該實體的 。EntityEntry<TEntity> 該條目提供實體的變更追蹤資訊及營運權限。

例外狀況

備註

此方法僅為非同步,以允許特殊值產生器,例如「Microsoft」所使用的。EntityFrameworkCore.Metadata.SqlServerValueGenerationStrategy.SequenceHiLo',以非同步方式存取資料庫。 其他情況應使用非同步方法。

Entity Framework Core 不支援在同一個 DbContext 實例上執行多個平行操作。 這包括平行執行非同步查詢,以及明確同時使用多個執行緒。 因此,務必立即等待非同步呼叫,或使用獨立的 DbContext 實例來執行平行執行的操作。 更多資訊與範例請參見 「避免 DbContext 執行緒問題 」。

更多資訊與範例請參閱 EF Core 變更追蹤 。

適用於