DbSet<TEntity> クラス

定義

は、 DbSet<TEntity> のインスタンスのクエリおよび保存に使用でき TEntity ます。 に対する LINQ クエリ DbSet<TEntity> は、データベースに対するクエリに変換されます。

に対する LINQ クエリの結果には、 DbSet<TEntity> データベースから返された結果が含まれ、データベースに保存されていないコンテキストに加えられた変更が反映されない場合があります。 たとえば、結果に新しく追加されたエンティティは含まれず、削除対象としてマークされているエンティティがまだ含まれている場合があります。

使用されるデータベースによっては、に対する LINQ クエリの一部 DbSet<TEntity> が、データベースクエリに変換されるのではなく、メモリ内で評価されることがあります。

DbSet<TEntity> オブジェクトは通常、 DbSet<TEntity> 派生クラスまたはメソッドからのプロパティから取得され DbContext Set<TEntity>() ます。

public abstract class DbSet<TEntity> : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<IServiceProvider>, Microsoft.EntityFrameworkCore.Query.Internal.IAsyncEnumerableAccessor<TEntity>, System.Collections.Generic.IEnumerable<TEntity>, System.Linq.IQueryable<TEntity> where TEntity : class
public abstract class DbSet<TEntity> : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<IServiceProvider>, Microsoft.EntityFrameworkCore.Query.Internal.IAsyncEnumerableAccessor<TEntity>, System.Collections.Generic.IEnumerable<TEntity>, System.ComponentModel.IListSource, System.Linq.IQueryable<TEntity> where TEntity : class
public abstract class DbSet<TEntity> : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<IServiceProvider>, System.Collections.Generic.IAsyncEnumerable<TEntity>, System.Collections.Generic.IEnumerable<TEntity>, System.ComponentModel.IListSource, System.Linq.IQueryable<TEntity> where TEntity : class
type DbSet<'Entity (requires 'Entity : null)> = class
    interface IQueryable<'Entity (requires 'Entity : null)>
    interface seq<'Entity (requires 'Entity : null)>
    interface IEnumerable
    interface IQueryable
    interface IAsyncEnumerableAccessor<'Entity (requires 'Entity : null)>
    interface IInfrastructure<IServiceProvider>
type DbSet<'Entity (requires 'Entity : null)> = class
    interface IQueryable<'Entity (requires 'Entity : null)>
    interface seq<'Entity (requires 'Entity : null)>
    interface IEnumerable
    interface IQueryable
    interface IAsyncEnumerableAccessor<'Entity (requires 'Entity : null)>
    interface IInfrastructure<IServiceProvider>
    interface IListSource
type DbSet<'Entity (requires 'Entity : null)> = class
    interface IQueryable<'Entity (requires 'Entity : null)>
    interface seq<'Entity (requires 'Entity : null)>
    interface IEnumerable
    interface IQueryable
    interface IAsyncEnumerable<'Entity (requires 'Entity : null)>
    interface IInfrastructure<IServiceProvider>
    interface IListSource
Public MustInherit Class DbSet(Of TEntity)
Implements IAsyncEnumerableAccessor(Of TEntity), IEnumerable(Of TEntity), IInfrastructure(Of IServiceProvider), IQueryable(Of TEntity)
Public MustInherit Class DbSet(Of TEntity)
Implements IAsyncEnumerableAccessor(Of TEntity), IEnumerable(Of TEntity), IInfrastructure(Of IServiceProvider), IListSource, IQueryable(Of TEntity)
Public MustInherit Class DbSet(Of TEntity)
Implements IAsyncEnumerable(Of TEntity), IEnumerable(Of TEntity), IInfrastructure(Of IServiceProvider), IListSource, IQueryable(Of TEntity)

型パラメーター

TEntity

このセットによって操作されているエンティティの型。

継承
DbSet<TEntity>
派生
実装
IInfrastructure<IServiceProvider> Microsoft.EntityFrameworkCore.Query.Internal.IAsyncEnumerableAccessor<TEntity> IEnumerable<T> IEnumerable<TEntity> IEnumerable IQueryable IQueryable<TEntity> IListSource IAsyncEnumerable<TEntity>

コンストラクター

DbSet<TEntity>()

プロパティ

EntityType

IEntityTypeこのセットに関連付けられているメタデータ。

Local

LocalView<TEntity>このセット内の、追加、変更、および変更されたすべてのエンティティのローカルビューを表すを取得します。

このローカル ビューは、コンテキストでエンティティが追加または削除されたときに同期を維持します。 同様に、ローカル ビューでエンティティが追加または削除されると、コンテキストでエンティティが自動的に追加または削除されます。

このプロパティは、データバインディングに使用できます。たとえば、拡張メソッドを使用してセットにデータを設定し、次に、 Load<TSource>(IQueryable<TSource>) WPF バインディングに対してを呼び出すことによって、このプロパティを通じてローカルデータにバインドし ToObservableCollection() ます。または、WinForms に対してを呼び出し ToBindingList() ます。

メソッド

Add(TEntity)

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

State1 つのエンティティのみの状態を設定するには、を使用します。

AddAsync(TEntity, CancellationToken)

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

このメソッドは、' SqlServerValueGenerationStrategy ' によって使用される特殊な値ジェネレーターを許可して、データベースに非同期にアクセスするためにのみ非同期になります。 それ以外の場合は、非同期メソッドを使用する必要があります。

State1 つのエンティティのみの状態を設定するには、を使用します。

AddRange(IEnumerable<TEntity>)

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

AddRange(TEntity[])

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

AddRangeAsync(IEnumerable<TEntity>, CancellationToken)

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

このメソッドは、' SqlServerValueGenerationStrategy ' によって使用される特殊な値ジェネレーターを許可して、データベースに非同期にアクセスするためにのみ非同期になります。 それ以外の場合は、非同期メソッドを使用する必要があります。

AddRangeAsync(TEntity[])

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

このメソッドは、' SqlServerValueGenerationStrategy ' によって使用される特殊な値ジェネレーターを許可して、データベースに非同期にアクセスするためにのみ非同期になります。 それ以外の場合は、非同期メソッドを使用する必要があります。

AsAsyncEnumerable()

として型指定されたこのオブジェクトを返し IAsyncEnumerable<T> ます。

これは、両方のインターフェイスを拡張する同じ名前空間の拡張メソッドのあいまいさを解消するための便利なメソッドです。

AsQueryable()

として型指定されたこのオブジェクトを返し IQueryable<T> ます。

これは、両方のインターフェイスを拡張する同じ名前空間の拡張メソッドのあいまいさを解消するための便利なメソッドです。

Attach(TEntity)

既定では、指定されたエンティティと、指定したエンティティから到達できるエントリの追跡を開始し Unchanged ます。ただし、別の状態を使用する場合は、以下を参照してください。

一般に、が呼び出されるまで、データベースとの対話は実行されません SaveChanges()

ナビゲーションプロパティを再帰的に検索すると、コンテキストによってまだ追跡されていない到達可能なエンティティが検索されます。 見つかったすべてのエンティティは、コンテキストによって追跡されます。

エンティティの主キー値が設定されている場合、生成されたキーを持つエンティティ型については、状態で追跡され Unchanged ます。 主キーの値が設定されていない場合は、状態で追跡され Added ます。 これにより、新しいエンティティのみが挿入されます。 主キープロパティがプロパティ型の CLR の既定値以外に設定されている場合、エンティティは主キー値が設定されていると見なされます。

生成されたキーを持たないエンティティ型の場合、状態セットは常に Unchanged です。

State1 つのエンティティのみの状態を設定するには、を使用します。

AttachRange(IEnumerable<TEntity>)

既定で状態を使用して、指定されたエンティティから到達できるエントリの追跡を開始し Unchanged ます。ただし、別の状態が使用される場合は、以下を参照してください。

一般に、が呼び出されるまで、データベースとの対話は実行されません SaveChanges()

ナビゲーションプロパティを再帰的に検索すると、コンテキストによってまだ追跡されていない到達可能なエンティティが検索されます。 見つかったすべてのエンティティは、コンテキストによって追跡されます。

エンティティの主キー値が設定されている場合、生成されたキーを持つエンティティ型については、状態で追跡され Unchanged ます。 主キーの値が設定されていない場合は、状態で追跡され Added ます。 これにより、新しいエンティティのみが挿入されます。 主キープロパティがプロパティ型の CLR の既定値以外に設定されている場合、エンティティは主キー値が設定されていると見なされます。

生成されたキーを持たないエンティティ型の場合、状態セットは常に Unchanged です。

State1 つのエンティティのみの状態を設定するには、を使用します。

AttachRange(TEntity[])

既定で状態を使用して、指定されたエンティティから到達できるエントリの追跡を開始し Unchanged ます。ただし、別の状態が使用される場合は、以下を参照してください。

一般に、が呼び出されるまで、データベースとの対話は実行されません SaveChanges()

ナビゲーションプロパティを再帰的に検索すると、コンテキストによってまだ追跡されていない到達可能なエンティティが検索されます。 見つかったすべてのエンティティは、コンテキストによって追跡されます。

エンティティの主キー値が設定されている場合、生成されたキーを持つエンティティ型については、状態で追跡され Unchanged ます。 主キーの値が設定されていない場合は、状態で追跡され Added ます。 これにより、新しいエンティティのみが挿入されます。 主キープロパティがプロパティ型の CLR の既定値以外に設定されている場合、エンティティは主キー値が設定されていると見なされます。

生成されたキーを持たないエンティティ型の場合、状態セットは常に Unchanged です。

State1 つのエンティティのみの状態を設定するには、を使用します。

Find(Object[])

指定された主キー値を持つエンティティを検索します。 指定された主キー値を持つエンティティがコンテキストによって追跡されている場合は、データベースへの要求を作成せずに直ちに返されます。 それ以外の場合は、指定された主キー値を持つエンティティに対するクエリがデータベースに対して行われ、このエンティティが存在する場合はコンテキストにアタッチされて返されます。 エンティティが見つからない場合は、null が返されます。

FindAsync(Object[])

指定された主キー値を持つエンティティを検索します。 指定された主キー値を持つエンティティがコンテキストによって追跡されている場合は、データベースへの要求を作成せずに直ちに返されます。 それ以外の場合は、指定された主キー値を持つエンティティに対するクエリがデータベースに対して行われ、このエンティティが存在する場合はコンテキストにアタッチされて返されます。 エンティティが見つからない場合は、null が返されます。

FindAsync(Object[], CancellationToken)

指定された主キー値を持つエンティティを検索します。 指定された主キー値を持つエンティティがコンテキストによって追跡されている場合は、データベースへの要求を作成せずに直ちに返されます。 それ以外の場合は、指定された主キー値を持つエンティティに対するクエリがデータベースに対して行われ、このエンティティが存在する場合はコンテキストにアタッチされて返されます。 エンティティが見つからない場合は、null が返されます。

Remove(TEntity)

が呼び出されたときにデータベースから削除されるように、指定されたエンティティの状態の追跡を開始 Deleted SaveChanges() します。

RemoveRange(IEnumerable<TEntity>)

が呼び出されたときにデータベースから削除されるように、指定されたエンティティの状態の追跡を開始 Deleted SaveChanges() します。

RemoveRange(TEntity[])

が呼び出されたときにデータベースから削除されるように、指定されたエンティティの状態の追跡を開始 Deleted SaveChanges() します。

Update(TEntity)

既定では、指定されたエンティティと、指定したエンティティから到達できるエントリの追跡を開始し Modified ます。ただし、別の状態を使用する場合は、以下を参照してください。

一般に、が呼び出されるまで、データベースとの対話は実行されません SaveChanges()

ナビゲーションプロパティを再帰的に検索すると、コンテキストによってまだ追跡されていない到達可能なエンティティが検索されます。 見つかったすべてのエンティティは、コンテキストによって追跡されます。

エンティティの主キー値が設定されている場合、生成されたキーを持つエンティティ型については、状態で追跡され Modified ます。 主キーの値が設定されていない場合は、状態で追跡され Added ます。 これにより、新しいエンティティが挿入され、既存のエンティティが更新されます。 主キープロパティがプロパティ型の CLR の既定値以外に設定されている場合、エンティティは主キー値が設定されていると見なされます。

生成されたキーを持たないエンティティ型の場合、状態セットは常に Modified です。

State1 つのエンティティのみの状態を設定するには、を使用します。

UpdateRange(IEnumerable<TEntity>)

既定で状態を使用して、指定されたエンティティから到達できるエントリの追跡を開始し Modified ます。ただし、別の状態が使用される場合は、以下を参照してください。

一般に、が呼び出されるまで、データベースとの対話は実行されません SaveChanges()

ナビゲーションプロパティを再帰的に検索すると、コンテキストによってまだ追跡されていない到達可能なエンティティが検索されます。 見つかったすべてのエンティティは、コンテキストによって追跡されます。

エンティティの主キー値が設定されている場合、生成されたキーを持つエンティティ型については、状態で追跡され Modified ます。 主キーの値が設定されていない場合は、状態で追跡され Added ます。 これにより、新しいエンティティが挿入され、既存のエンティティが更新されます。 主キープロパティがプロパティ型の CLR の既定値以外に設定されている場合、エンティティは主キー値が設定されていると見なされます。

生成されたキーを持たないエンティティ型の場合、状態セットは常に Modified です。

State1 つのエンティティのみの状態を設定するには、を使用します。

UpdateRange(TEntity[])

既定で状態を使用して、指定されたエンティティから到達できるエントリの追跡を開始し Modified ます。ただし、別の状態が使用される場合は、以下を参照してください。

一般に、が呼び出されるまで、データベースとの対話は実行されません SaveChanges()

ナビゲーションプロパティを再帰的に検索すると、コンテキストによってまだ追跡されていない到達可能なエンティティが検索されます。 見つかったすべてのエンティティは、コンテキストによって追跡されます。

エンティティの主キー値が設定されている場合、生成されたキーを持つエンティティ型については、状態で追跡され Modified ます。 主キーの値が設定されていない場合は、状態で追跡され Added ます。 これにより、新しいエンティティが挿入され、既存のエンティティが更新されます。 主キープロパティがプロパティ型の CLR の既定値以外に設定されている場合、エンティティは主キー値が設定されていると見なされます。

生成されたキーを持たないエンティティ型の場合、状態セットは常に Modified です。

State1 つのエンティティのみの状態を設定するには、を使用します。

明示的なインターフェイスの実装

IAsyncEnumerable<TEntity>.GetAsyncEnumerator(CancellationToken)

IAsyncEnumerator<T>列挙された場合に、データベースに対してクエリを非同期に実行するを返します。

IAsyncEnumerableAccessor<TEntity>.AsyncEnumerable

IAsyncEnumerable<T>列挙された場合に、データベースに対してクエリを非同期に実行するを返します。

IEnumerable.GetEnumerator()

IEnumerator列挙時にデータベースに対してクエリを実行し、データベースからすべてのエンティティを読み込むを返すを返します。

IEnumerable<TEntity>.GetEnumerator()

IEnumerator<T>列挙時にデータベースに対してクエリを実行し、データベースからすべてのエンティティを読み込むを返すを返します。

IInfrastructure<IServiceProvider>.Instance

IServiceProviderサービスを解決するために使用されるスコープを取得します。

このプロパティは、パブリック API サーフェイスに直接公開されていないサービスを使用する必要がある拡張メソッドによって使用されることを目的としています。

IListSource.ContainsListCollection

コレクションが system.string オブジェクトのコレクションであるかどうかを示す値を取得します。 常に false を返します。

IListSource.GetList()

このメソッドは、に直接データをバインドしようとしたときにデータバインディングフレームワークによって呼び出され DbSet<TEntity> ます。

この実装は、に直接バインドすると、常に例外をスローし DbSet<TEntity> ます。これは、データバインディングフレームワークがコレクションの内容を要求するたびに、クエリがデータベースに送信されることになります。 その代わりに、拡張メソッドなどを使用して結果をコンテキストに読み込んで Load<TSource>(IQueryable<TSource>) から、を通じて、 Local WPF バインディングを呼び出すか、WinForms に対してを使用してローカルデータにバインドし ToObservableCollection() ToBindingList() ます。

IQueryable.ElementType

IQueryable 要素の型を取得します。

IQueryable.Expression

IQueryable LINQ 式を取得します。

IQueryable.Provider

IQueryable プロバイダーを取得します。

拡張メソッド

WithPartitionKey<TEntity>(IQueryable<TEntity>, String)

クエリに使用するパーティションのパーティションキーを指定します。 認証用のパーティションキーに基づくアクセス許可を提供するリソーストークンを使用する場合に必要です。

AllAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

シーケンスのすべての要素が条件を満たしているかどうかを非同期に判断します。

AnyAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

シーケンスのいずれかの要素が条件を満たすかどうかを非同期に判断します。

AnyAsync<TSource>(IQueryable<TSource>, CancellationToken)

シーケンスに要素が含まれているかどうかを非同期に判断します。

AsAsyncEnumerable<TSource>(IQueryable<TSource>)

IAsyncEnumerable<T>非同期的に列挙できるを返します。

AsNoTracking<TEntity>(IQueryable<TEntity>)

変更トラッカーは、LINQ クエリから返されるエンティティを追跡しません。 エンティティインスタンスが変更された場合、この設定は変更トラッカーによって検出されず、 SaveChanges() データベースへの変更は保持されません。

変更の追跡を無効にすることは、各エンティティインスタンスの変更の追跡を設定するオーバーヘッドを避けることができるため、読み取り専用のシナリオで役立ちます。 を使用してエンティティインスタンスを操作し、それらの変更をデータベースに保持する場合は、変更の追跡を無効にしないでください SaveChanges()

Id 解決は実行されません。 指定されたキーを持つエンティティの結果セットが異なる場合は、異なるインスタンスになります。

クエリの既定の追跡動作は、によって制御でき QueryTrackingBehavior ます。

AsNoTrackingWithIdentityResolution<TEntity>(IQueryable<TEntity>)

変更トラッカーは、LINQ クエリから返されるエンティティを追跡しません。 エンティティインスタンスが変更された場合、この設定は変更トラッカーによって検出されず、 SaveChanges() データベースへの変更は保持されません。

変更の追跡を無効にすることは、各エンティティインスタンスの変更の追跡を設定するオーバーヘッドを避けることができるため、読み取り専用のシナリオで役立ちます。 を使用してエンティティインスタンスを操作し、それらの変更をデータベースに保持する場合は、変更の追跡を無効にしないでください SaveChanges()

Id 解決は、結果セット内の特定のキーを持つエンティティがすべて同じエンティティインスタンスによって表されるようにするために実行されます。

クエリの既定の追跡動作は、によって制御でき QueryTrackingBehavior ます。

AsTracking<TEntity>(IQueryable<TEntity>)

返されたすべてのエンティティの変更を追跡する変更トラッカーの新しいクエリを返します。 エンティティインスタンスに対する変更は、の間に検出され、データベースに保存され SaveChanges() ます。

クエリの既定の追跡動作は、によって制御でき QueryTrackingBehavior ます。

AsTracking<TEntity>(IQueryable<TEntity>, QueryTrackingBehavior)

' Track ' パラメーターの値に応じて、返されるすべてのエンティティについて、変更トラッカーが変更を追跡するかどうかを追跡する新しいクエリを返します。 追跡時に、エンティティインスタンスに対する変更が検出され、の実行中にデータベースに保存され SaveChanges() ます。 追跡しない場合、エンティティインスタンスが変更されると、変更トラッカーによって検出されず、 SaveChanges() データベースに変更が保存されません。

変更の追跡を無効にすることは、各エンティティインスタンスの変更の追跡を設定するオーバーヘッドを避けることができるため、読み取り専用のシナリオで役立ちます。 を使用してエンティティインスタンスを操作し、それらの変更をデータベースに保持する場合は、変更の追跡を無効にしないでください SaveChanges()

クエリの既定の追跡動作は、によって制御でき QueryTrackingBehavior ます。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>, CancellationToken)

入力シーケンスの各要素に対して射影関数を呼び出すことによって取得される値のシーケンスの平均を非同期に計算します。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>, CancellationToken)

入力シーケンスの各要素に対して射影関数を呼び出すことによって取得される値のシーケンスの平均を非同期に計算します。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>, CancellationToken)

入力シーケンスの各要素に対して射影関数を呼び出すことによって取得される値のシーケンスの平均を非同期に計算します。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>, CancellationToken)

入力シーケンスの各要素に対して射影関数を呼び出すことによって取得される値のシーケンスの平均を非同期に計算します。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>, CancellationToken)

入力シーケンスの各要素に対して射影関数を呼び出すことによって取得される値のシーケンスの平均を非同期に計算します。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>, CancellationToken)

入力シーケンスの各要素に対して射影関数を呼び出すことによって取得される値のシーケンスの平均を非同期に計算します。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>, CancellationToken)

入力シーケンスの各要素に対して射影関数を呼び出すことによって取得される値のシーケンスの平均を非同期に計算します。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>, CancellationToken)

入力シーケンスの各要素に対して射影関数を呼び出すことによって取得される値のシーケンスの平均を非同期に計算します。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Single>>>, CancellationToken)

入力シーケンスの各要素に対して射影関数を呼び出すことによって取得される値のシーケンスの平均を非同期に計算します。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>, CancellationToken)

入力シーケンスの各要素に対して射影関数を呼び出すことによって取得される値のシーケンスの平均を非同期に計算します。

ContainsAsync<TSource>(IQueryable<TSource>, TSource, CancellationToken)

既定の等値比較子を使用して、指定した要素がシーケンスに含まれているかどうかを非同期に判断します。

CountAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

条件を満たすシーケンス内の要素の数を非同期に返します。

CountAsync<TSource>(IQueryable<TSource>, CancellationToken)

シーケンス内の要素の数を非同期に返します。

FirstAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

指定された条件を満たすシーケンスの最初の要素を非同期に返します。

FirstAsync<TSource>(IQueryable<TSource>, CancellationToken)

シーケンスの最初の要素を非同期に返します。

FirstOrDefaultAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

指定された条件を満たすシーケンスの最初の要素、またはそのような要素が見つからない場合は既定値を非同期的に返します。

FirstOrDefaultAsync<TSource>(IQueryable<TSource>, CancellationToken)

シーケンスの最初の要素を非同期に返します。シーケンスに要素が含まれていない場合は既定値を返します。

ForEachAsync<T>(IQueryable<T>, Action<T>, CancellationToken)

クエリ結果を非同期に列挙し、各要素に対して指定されたアクションを実行します。

IgnoreAutoIncludes<TEntity>(IQueryable<TEntity>)

現在の Entity Framework LINQ クエリに、モデルレベルの一括読み込みのナビゲーションが適用されないように指定します。

IgnoreQueryFilters<TEntity>(IQueryable<TEntity>)

現在の Entity Framework LINQ クエリに、モデルレベルのエンティティクエリフィルターを適用しないように指定します。

Include<TEntity>(IQueryable<TEntity>, String)

クエリ結果に含める関連エンティティを指定します。 含めるナビゲーションプロパティは、クエリ対象のエンティティの型 () で始まるように指定されてい TEntity ます。 追加するナビゲーションプロパティは、'. ' 文字で区切ることができます。

Include<TEntity,TProperty>(IQueryable<TEntity>, Expression<Func<TEntity,TProperty>>)

クエリ結果に含める関連エンティティを指定します。 含めるナビゲーションプロパティは、クエリ対象のエンティティの型 () で始まるように指定されてい TEntity ます。 含まれている型のナビゲーションプロパティに基づいて追加の型を含める場合は、次のように呼び出しを連結します。 ThenInclude<TEntity,TPreviousProperty,TProperty>(IIncludableQueryable<TEntity,IEnumerable<TPreviousProperty>>, Expression<Func<TPreviousProperty,TProperty>>) この呼び出しの後。

LastAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

指定された条件を満たすシーケンスの最後の要素を非同期に返します。

LastAsync<TSource>(IQueryable<TSource>, CancellationToken)

シーケンスの最後の要素を非同期に返します。

LastOrDefaultAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

指定された条件を満たすシーケンスの最後の要素、またはそのような要素が見つからない場合は既定値を非同期的に返します。

LastOrDefaultAsync<TSource>(IQueryable<TSource>, CancellationToken)

シーケンスの最後の要素を非同期に返します。シーケンスに要素が含まれていない場合は既定値を返します。

Load<TSource>(IQueryable<TSource>)

クエリを列挙します。 Entity Framework を使用すると、クエリの結果が関連付けられたコンテキストに読み込まれます。 これは、ToList を呼び出してリストを破棄することと同じです (実際にリストを作成するオーバーヘッドはありません)。

LoadAsync<TSource>(IQueryable<TSource>, CancellationToken)

クエリを非同期に列挙します。 Entity Framework を使用すると、クエリの結果が関連付けられたコンテキストに読み込まれます。 これは、ToList を呼び出してリストを破棄することと同じです (実際にリストを作成するオーバーヘッドはありません)。

LongCountAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

Int64条件を満たすシーケンス内の要素の数を表すを非同期に返します。

LongCountAsync<TSource>(IQueryable<TSource>, CancellationToken)

Int64シーケンス内の要素の合計数を表すを非同期に返します。

MaxAsync<TSource>(IQueryable<TSource>, CancellationToken)

シーケンスの最大値を非同期に返します。

MaxAsync<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>, CancellationToken)

シーケンスの各要素に対して射影関数を非同期に呼び出し、結果として得られる最大値を返します。

MinAsync<TSource>(IQueryable<TSource>, CancellationToken)

シーケンスの最小値を非同期に返します。

MinAsync<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>, CancellationToken)

シーケンスの各要素に対して射影関数を非同期に呼び出し、結果として得られる最小値を返します。

SingleAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

指定された条件を満たすシーケンスの唯一の要素を非同期に返し、そのような要素が複数存在する場合は例外をスローします。

SingleAsync<TSource>(IQueryable<TSource>, CancellationToken)

シーケンスの唯一の要素を非同期に返し、シーケンス内の要素が1つだけでない場合は例外をスローします。

SingleOrDefaultAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

指定された条件を満たすシーケンスの唯一の要素、またはそのような要素が存在しない場合は既定値を非同期的に返します。複数の要素が条件を満たす場合、このメソッドは例外をスローします。

SingleOrDefaultAsync<TSource>(IQueryable<TSource>, CancellationToken)

シーケンスの唯一の要素を非同期に返します。シーケンスが空の場合は既定値を返します。シーケンスに複数の要素がある場合、このメソッドは例外をスローします。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>, CancellationToken)

入力シーケンスの各要素に対して射影関数を呼び出すことによって取得される値のシーケンスの合計を非同期に計算します。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>, CancellationToken)

入力シーケンスの各要素に対して射影関数を呼び出すことによって取得される値のシーケンスの合計を非同期に計算します。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>, CancellationToken)

入力シーケンスの各要素に対して射影関数を呼び出すことによって取得される値のシーケンスの合計を非同期に計算します。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>, CancellationToken)

入力シーケンスの各要素に対して射影関数を呼び出すことによって取得される値のシーケンスの合計を非同期に計算します。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>, CancellationToken)

入力シーケンスの各要素に対して射影関数を呼び出すことによって取得される値のシーケンスの合計を非同期に計算します。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>, CancellationToken)

入力シーケンスの各要素に対して射影関数を呼び出すことによって取得される値のシーケンスの合計を非同期に計算します。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>, CancellationToken)

入力シーケンスの各要素に対して射影関数を呼び出すことによって取得される値のシーケンスの合計を非同期に計算します。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>, CancellationToken)

入力シーケンスの各要素に対して射影関数を呼び出すことによって取得される値のシーケンスの合計を非同期に計算します。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Single>>>, CancellationToken)

入力シーケンスの各要素に対して射影関数を呼び出すことによって取得される値のシーケンスの合計を非同期に計算します。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>, CancellationToken)

入力シーケンスの各要素に対して射影関数を呼び出すことによって取得される値のシーケンスの合計を非同期に計算します。

TagWith<T>(IQueryable<T>, String)

EF LINQ クエリに関連付けられているタグのコレクションにタグを追加します。 タグは、クエリパイプラインのさまざまなポイントでコンテキストトレース情報を提供できるクエリ注釈です。

ToArrayAsync<TSource>(IQueryable<TSource>, CancellationToken)

IQueryable<T>非同期的に列挙することによって、から配列を非同期に作成します。

ToDictionaryAsync<TSource,TKey>(IQueryable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>, CancellationToken)

Dictionary<TKey,TValue> IQueryable<T> 指定されたキーセレクター関数および比較子に従って非同期的に列挙することによって、からを作成します。

ToDictionaryAsync<TSource,TKey>(IQueryable<TSource>, Func<TSource,TKey>, CancellationToken)

Dictionary<TKey,TValue> IQueryable<T> 指定されたキーセレクター関数に従って非同期的に列挙することによって、からを作成します。

ToDictionaryAsync<TSource,TKey,TElement>(IQueryable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, IEqualityComparer<TKey>, CancellationToken)

Dictionary<TKey,TValue> IQueryable<T> 指定されたキーセレクター関数、比較子、および要素セレクター関数に従って、を非同期的に列挙することによって、からを作成します。

ToDictionaryAsync<TSource,TKey,TElement>(IQueryable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, CancellationToken)

Dictionary<TKey,TValue> IQueryable<T> 指定されたキーセレクターおよび要素セレクター関数に従って非同期的に列挙することによって、からを作成します。

ToListAsync<TSource>(IQueryable<TSource>, CancellationToken)

非同期的に List<T> 列挙する IQueryable<T> ことによってからを非同期に作成します。

GetInfrastructure<T>(IInfrastructure<T>)

を使用して非表示になっているプロパティから値を取得し IInfrastructure<T> ます。

このメソッドは、通常、データベースプロバイダー (およびその他の拡張機能) で使用されます。 通常、アプリケーションコードでは使用されません。

IInfrastructure<T> は、アプリケーションコードで使用するためのものではなく、データベースプロバイダーによって記述された拡張メソッドで使用できるプロパティを非表示にするために使用されます。

CreateProxy<TEntity>(DbSet<TEntity>, Action<TEntity>, Object[])

プロキシの作成が有効になっている場合は、エンティティ型のプロキシインスタンスを作成します。

CreateProxy<TEntity>(DbSet<TEntity>, Object[])

プロキシの作成が有効になっている場合は、エンティティ型のプロキシインスタンスを作成します。

AsSingleQuery<TEntity>(IQueryable<TEntity>)

クエリ結果のコレクションを1つのデータベースクエリで読み込むように構成された新しいクエリを返します。

通常、この動作によって同時更新が発生したときの一貫性が保証されます (ただし、使用されているデータベースおよびトランザクション分離レベルによって詳細が異なる場合があります)。 ただし、クエリによって複数の関連コレクションが読み込まれると、パフォーマンスの問題が発生する可能性があります。

クエリの既定のクエリ分割動作は、によって制御でき UseQuerySplittingBehavior(QuerySplittingBehavior) ます。

AsSplitQuery<TEntity>(IQueryable<TEntity>)

別のデータベースクエリを使用してクエリ結果にコレクションを読み込むように構成された新しいクエリを返します。

この動作により、クエリで複数のコレクションが読み込まれるときのパフォーマンスが大幅に向上します。 ただし、個別のクエリが使用されるため、同時更新が発生した場合に結果が矛盾する可能性があります。 シリアル化可能な、またはスナップショットのトランザクションを使用すると、これを軽減し、分割されたクエリとの整合性を維持できますが、他のパフォーマンス コストと動作の違いが生じる可能性があります。

クエリの既定のクエリ分割動作は、によって制御でき UseQuerySplittingBehavior(QuerySplittingBehavior) ます。

FromSql<TEntity>(IQueryable<TEntity>, RawSqlString, Object[])
互換性のために残されています。

生の SQL クエリに基づいて LINQ クエリを作成します。

データベースプロバイダーが、指定された SQL での作成をサポートしている場合は、LINQ 演算子を使用して、生の SQL クエリの上にを構成できます。 context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name).

SQL を受け入れる API と同様に、SQL インジェクション攻撃から保護するために、ユーザー入力をパラメーター化することが重要です。 パラメータープレースホルダーを SQL クエリ文字列に含め、パラメーター値を追加の引数として指定できます。 指定したパラメーター値は、自動的に DbParameter に変換されます。 context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({0})", userSuppliedSearchTerm).

このオーバーロードは、パラメーター値として DbParameter インスタンスを受け取ることもできます。 これにより、SQL クエリ文字列で名前付きパラメーターを使用できるようになります。 context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({@searchTerm})", new SqlParameter("@searchTerm", userSuppliedSearchTerm))

FromSql<TEntity>(IQueryable<TEntity>, FormattableString)
互換性のために残されています。

SQL クエリを表す挿入文字列に基づいて LINQ クエリを作成します。

データベースプロバイダーが、指定された SQL での作成をサポートしている場合は、LINQ 演算子を使用して、生の SQL クエリの上にを構成できます。 context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name).

SQL を受け入れる API と同様に、SQL インジェクション攻撃から保護するために、ユーザー入力をパラメーター化することが重要です。 SQL クエリ文字列には、挿入されたパラメータープレースホルダーを含めることができます。 入力したすべての補間パラメーター値は、自動的に DbParameter に変換されます。 context.Blogs.FromSql($"SELECT * FROM [dbo].[SearchBlogs]({userSuppliedSearchTerm})").

FromSql<TEntity>(IQueryable<TEntity>, String, Object[])

生の SQL クエリに基づいて LINQ クエリを作成します。

データベースプロバイダーが、指定された SQL での作成をサポートしている場合は、LINQ 演算子を使用して、生の SQL クエリの上にを構成できます。 context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name).

SQL を受け入れる API と同様に、SQL インジェクション攻撃から保護するために、ユーザー入力をパラメーター化することが重要です。 パラメータープレースホルダーを SQL クエリ文字列に含め、パラメーター値を追加の引数として指定できます。 指定したパラメーター値は、自動的に DbParameter に変換されます。 context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({0})", userSuppliedSearchTerm).

DbParameter を構築して、パラメーター値としてに指定することもできます。 これにより、SQL クエリ文字列で名前付きパラメーターを使用できるようになります。 context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({@searchTerm})", new SqlParameter("@searchTerm", userSuppliedSearchTerm))

FromSqlInterpolated<TEntity>(DbSet<TEntity>, FormattableString)

SQL クエリを表す挿入文字列に基づいて LINQ クエリを作成します。

データベースプロバイダーが、指定された SQL での作成をサポートしている場合は、次のように LINQ 演算子を使用して、生の SQL クエリの上に構成できます。

context.Blogs.FromSqlInterpolated($"SELECT * FROM dbo.Blogs").OrderBy(b => b.Name)

SQL を受け入れる API と同様に、SQL インジェクション攻撃から保護するために、ユーザー入力をパラメーター化することが重要です。 SQL クエリ文字列には、挿入されたパラメータープレースホルダーを含めることができます。 入力したすべての補間パラメーター値は、自動的に DbParameter に変換されます。

context.Blogs.FromSqlInterpolated($"SELECT * FROM [dbo].[SearchBlogs]({userSuppliedSearchTerm})")
FromSqlRaw<TEntity>(DbSet<TEntity>, String, Object[])

生の SQL クエリに基づいて LINQ クエリを作成します。

データベースプロバイダーが、指定された SQL での作成をサポートしている場合は、LINQ 演算子: context を使用して、生の SQL クエリの上に構成できます 。Blog. FromSqlRaw ("SELECT * FROM dbo"ブログ「」)。OrderBy (b = > b.Name)

SQL を受け入れる API と同様に、SQL インジェクション攻撃から保護するために、ユーザー入力をパラメーター化することが重要です。 パラメータープレースホルダーを SQL クエリ文字列に含め、パラメーター値を追加の引数として指定できます。 指定したパラメーター値は、自動的に DbParameter に変換されます。

context.Blogs.FromSqlRaw("SELECT * FROM [dbo].[SearchBlogs]({0})", userSuppliedSearchTerm)

ただし、検証されていないユーザー指定の値を使用して、連結された文字列または挿入文字列 ($ "") をこのメソッドに渡すことはできません。 これにより、アプリケーションが SQL インジェクション攻撃にさらされる可能性があります。 挿入文字列の構文を使用するには、を使用してパラメーターを作成することを検討してください FromSqlInterpolated<TEntity>(DbSet<TEntity>, FormattableString)

このオーバーロードは、パラメーター値として DbParameter インスタンスを受け取ることもできます。 これにより、SQL クエリ文字列で名前付きパラメーターを使用できるようになります。

context.Blogs.FromSqlRaw("SELECT * FROM [dbo].[SearchBlogs]({@searchTerm})", new SqlParameter("@searchTerm", userSuppliedSearchTerm))

適用対象