DbContext.AddAsync メソッド

定義

オーバーロード

AddAsync(Object, CancellationToken)

が呼び出されたときにSaveChanges()データベースに挿入されるように、指定されたエンティティと、Addedまだ追跡されていないその他の到達可能なエンティティの追跡を開始します。

AddAsync<TEntity>(TEntity, CancellationToken)

が呼び出されたときにSaveChanges()データベースに挿入されるように、指定されたエンティティと、Addedまだ追跡されていないその他の到達可能なエンティティの追跡を開始します。

AddAsync(Object, CancellationToken)

ソース:
DbContext.cs
ソース:
DbContext.cs
ソース:
DbContext.cs
ソース:
DbContext.cs
ソース:
DbContext.cs
ソース:
DbContext.cs
ソース:
DbContext.cs
ソース:
DbContext.cs
ソース:
DbContext.cs

が呼び出されたときにSaveChanges()データベースに挿入されるように、指定されたエンティティと、Addedまだ追跡されていないその他の到達可能なエンティティの追跡を開始します。

C#
public virtual System.Threading.Tasks.Task<Microsoft.EntityFrameworkCore.ChangeTracking.EntityEntry> AddAsync (object entity, System.Threading.CancellationToken cancellationToken = default);
C#
public virtual System.Threading.Tasks.ValueTask<Microsoft.EntityFrameworkCore.ChangeTracking.EntityEntry> AddAsync (object entity, System.Threading.CancellationToken cancellationToken = default);

パラメーター

entity
Object

追加するエンティティ。

cancellationToken
CancellationToken

CancellationTokenタスクの完了を待機している間に観察する 。

戻り値

非同期の追加操作を表すタスク。 タスクの結果には、エンティティの が EntityEntry 含まれます。 エントリは、エンティティの変更追跡情報と操作へのアクセスを提供します。

例外

CancellationToken が取り消されている場合。

注釈

を使用して State 、1 つのエンティティのみの状態を設定します。

このメソッドは、'Microsoft.EntityFrameworkCore.Metadata.SqlServerValueGenerationStrategy.SequenceHiLo' で使用される特殊な値ジェネレーターがデータベースに非同期的にアクセスできるようにする場合にのみ非同期です。 それ以外の場合は、非同期以外のメソッドを使用する必要があります。

Entity Framework Core では、同じ DbContext インスタンスで複数の並列操作を実行することはできません。 これには、非同期クエリの並列実行と、複数のスレッドからの明示的な同時使用の両方が含まれます。 そのため、非同期呼び出しは常にすぐに待機するか、並列で実行される操作には個別の DbContext インスタンスを使用します。 詳細と例については、「 DbContext スレッドの問題を回避する 」を参照してください。

詳細と例については、「 EF Core 変更の追跡 」を参照してください。

適用対象

Entity Framework Core 9.0 およびその他のバージョン
製品 バージョン
Entity Framework Core 1.1, 2.0, 2.1, 2.2, 3.0, 3.1, 5.0, 6.0, 7.0, 8.0, 9.0

AddAsync<TEntity>(TEntity, CancellationToken)

ソース:
DbContext.cs
ソース:
DbContext.cs
ソース:
DbContext.cs
ソース:
DbContext.cs
ソース:
DbContext.cs
ソース:
DbContext.cs
ソース:
DbContext.cs
ソース:
DbContext.cs
ソース:
DbContext.cs

が呼び出されたときにSaveChanges()データベースに挿入されるように、指定されたエンティティと、Addedまだ追跡されていないその他の到達可能なエンティティの追跡を開始します。

C#
public virtual System.Threading.Tasks.Task<Microsoft.EntityFrameworkCore.ChangeTracking.EntityEntry<TEntity>> AddAsync<TEntity> (TEntity entity, System.Threading.CancellationToken cancellationToken = default) where TEntity : class;
C#
public virtual System.Threading.Tasks.ValueTask<Microsoft.EntityFrameworkCore.ChangeTracking.EntityEntry<TEntity>> AddAsync<TEntity> (TEntity entity, System.Threading.CancellationToken cancellationToken = default) where TEntity : class;

型パラメーター

TEntity

エンティティの種類。

パラメーター

entity
TEntity

追加するエンティティ。

cancellationToken
CancellationToken

CancellationTokenタスクの完了を待機している間に観察する 。

戻り値

Task<EntityEntry<TEntity>>

非同期の追加操作を表すタスク。 タスクの結果には、エンティティの が EntityEntry<TEntity> 含まれます。 エントリは、エンティティの変更追跡情報と操作へのアクセスを提供します。

例外

CancellationToken が取り消されている場合。

注釈

このメソッドは、'Microsoft.EntityFrameworkCore.Metadata.SqlServerValueGenerationStrategy.SequenceHiLo' で使用される特殊な値ジェネレーターがデータベースに非同期的にアクセスできるようにする場合にのみ非同期です。 それ以外の場合は、非同期以外のメソッドを使用する必要があります。

Entity Framework Core では、同じ DbContext インスタンスで複数の並列操作を実行することはできません。 これには、非同期クエリの並列実行と、複数のスレッドからの明示的な同時使用の両方が含まれます。 そのため、非同期呼び出しは常にすぐに待機するか、並列で実行される操作には個別の DbContext インスタンスを使用します。 詳細と例については、「 DbContext スレッドの問題を回避する 」を参照してください。

詳細と例については、「 EF Core 変更の追跡 」を参照してください。

適用対象

Entity Framework Core 9.0 およびその他のバージョン
製品 バージョン
Entity Framework Core 1.1, 2.0, 2.1, 2.2, 3.0, 3.1, 5.0, 6.0, 7.0, 8.0, 9.0