DbSet クラス

定義

非ジェネリック バージョン DbSet<TEntity> 。これは、ビルド時にエンティティの型が不明な場合に使用できます。

[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1710:IdentifiersShouldHaveCorrectSuffix", Justification="Name is intentional")]
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", Justification="Casing is intentional")]
public abstract class DbSet : System.Data.Entity.Infrastructure.DbQuery
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1010:CollectionsShouldImplementGenericInterface")]
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1710:IdentifiersShouldHaveCorrectSuffix", Justification="Name is intentional")]
public abstract class DbSet : System.Data.Entity.Infrastructure.DbQuery
type DbSet = class
    inherit DbQuery
Public MustInherit Class DbSet
Inherits DbQuery
継承
DbSet
属性

コンストラクター

DbSet()

DbSets の DbSet テスト ダブルとして使用される派生型のコンストラクターから呼び出されたときに のインスタンスを作成します。 テスト ダブルによって使用されるメソッドとプロパティは、AsNoTracking、AsStreaming、既定の実装が操作なしの Include を除き、テスト ダブルによって実装される必要があります。

プロパティ

ElementType

IQueryable 要素型。

(継承元 DbQuery)
Local

ObservableCollection<T>このセット内のすべての Added、Unchanged、Modified エンティティのローカル ビューを表す を取得します。 このローカル ビューは、コンテキストでエンティティが追加または削除されたときに同期を維持します。 同様に、ローカル ビューでエンティティが追加または削除されると、コンテキストでエンティティが自動的に追加または削除されます。

Sql

String基になるクエリの表現を取得します。

(継承元 DbQuery)

メソッド

Add(Object)

指定されたエンティティを、セットの基になるコンテキストに Added 状態で追加することにより、SaveChanges が呼び出されたときにデータベースに挿入されるようにします。

AddRange(IEnumerable)

SaveChanges の呼び出し時にデータベースに挿入されるように、指定されたエンティティのコレクションをセットの基になるコンテキストに追加します。

AsNoTracking()

返されるエンティティが にキャッシュされない新しいクエリを DbContext返します。

(継承元 DbQuery)
AsStreaming()
古い.

バッファー処理の代わりに結果をストリーミングする新しいクエリを返します。

(継承元 DbQuery)
Attach(Object)

セットの基になるコンテキストに、指定されたエンティティをアタッチします。 つまり、エンティティはデータベースから読み取られた場合と同様に、Unchanged 状態のコンテキストに配置されます。

Cast<TEntity>()

同等のジェネリック DbSet<TEntity> オブジェクトを返します。

Create()

このセットの型に対するエンティティの新しいインスタンスを作成します。 このインスタンスはセットに追加またはアタッチされないことに注意してください。 基になるコンテキストがプロキシを作成するように設定され、エンティティ型がプロキシ作成の要件を満たしている場合、インスタンスとしてプロキシが返されます。

Create(Type)

このセットの型に対して、またはこのセットの型から派生する型に対して、エンティティの新しいインスタンスを作成します。 このインスタンスはセットに追加またはアタッチされないことに注意してください。 基になるコンテキストがプロキシを作成するように設定され、エンティティ型がプロキシ作成の要件を満たしている場合、インスタンスとしてプロキシが返されます。

Equals(Object)

非ジェネリック バージョン DbSet<TEntity> 。これは、ビルド時にエンティティの型が不明な場合に使用できます。

Find(Object[])

指定された主キー値を持つエンティティを検索します。 指定された主キー値を持つエンティティがコンテキスト内に存在する場合は、そのエンティティがすぐに返され、ストアへの要求は行われません。 それ以外の場合は、指定された主キー値を持つエンティティについてストアに要求が行われ、エンティティが見つかるとコンテキストにアタッチされて返されます。 コンテキスト内またはストア内にエンティティが見つからない場合は null が返されます。

FindAsync(CancellationToken, Object[])

指定された主キー値を持つエンティティを非同期的に検索します。 指定された主キー値を持つエンティティがコンテキスト内に存在する場合は、そのエンティティがすぐに返され、ストアへの要求は行われません。 それ以外の場合は、指定された主キー値を持つエンティティについてストアに要求が行われ、エンティティが見つかるとコンテキストにアタッチされて返されます。 コンテキスト内またはストア内にエンティティが見つからない場合は null が返されます。

FindAsync(Object[])

指定された主キー値を持つエンティティを非同期的に検索します。 指定された主キー値を持つエンティティがコンテキスト内に存在する場合は、そのエンティティがすぐに返され、ストアへの要求は行われません。 それ以外の場合は、指定された主キー値を持つエンティティについてストアに要求が行われ、エンティティが見つかるとコンテキストにアタッチされて返されます。 コンテキスト内またはストア内にエンティティが見つからない場合は null が返されます。

GetHashCode()

非ジェネリック バージョン DbSet<TEntity> 。これは、ビルド時にエンティティの型が不明な場合に使用できます。

GetType()

非ジェネリック バージョン DbSet<TEntity> 。これは、ビルド時にエンティティの型が不明な場合に使用できます。

Include(String)

クエリ結果に含める関連オブジェクトを指定します。

(継承元 DbQuery)
Remove(Object)

指定されたエンティティを Deleted としてマークすることにより、SaveChanges が呼び出されたときにデータベースから削除されるようにします。 エンティティは、このメソッドが呼び出される前に、その他の状態でコンテキスト内に存在する必要があります。

RemoveRange(IEnumerable)

SaveChanges の呼び出し時にデータベースから削除されるように、各エンティティが Deleted 状態になるように、セットの基になるコンテキストから、指定されたエンティティのコレクションを削除します。

SqlQuery(String, Object[])

このセットにエンティティを返す生の SQL クエリを作成します。 既定では、返されるエンティティはコンテキストによって追跡されます。これは、返された で AsNoTracking を DbRawSqlQuery 呼び出すことによって変更できます。 返されるエンティティは常にこのセットの型であり、派生型ではありません。 照会先の 1 つまたは複数のテーブルにその他のエンティティ型のデータが格納されている場合、正しい型のエンティティだけが返されるように、適切に SQL クエリを作成する必要があります。

SQL を受け入れる API と同様に、SQL インジェクション攻撃から保護するために、ユーザー入力をパラメーター化することが重要です。 SQL クエリ文字列にパラメーター プレース ホルダーを含め、追加の引数としてパラメーター値を指定できます。 指定したパラメーター値は、自動的に DbParameter に変換されます。 コンテキスト。Set(typeof(Blog)).SqlQuery("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor);または、DbParameter を構築して SqlQuery に指定することもできます。 こうすることで、SQL クエリ文字列に名前付きパラメーターを使用できます。 コンテキスト。Set(typeof(Blog)).SqlQuery("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));

ToString()

String基になるクエリの表現を返します。

(継承元 DbQuery)

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

IDbAsyncEnumerable.GetAsyncEnumerator()

IDbAsyncEnumerator列挙時にデータベースに対してクエリを実行する を返します。

(継承元 DbQuery)
IEnumerable.GetEnumerator()

IEnumerator列挙時にデータベースに対してクエリを実行する を返します。

(継承元 DbQuery)
IListSource.ContainsListCollection

false を返します。

(継承元 DbQuery)
IListSource.GetList()

例外をスローして、ストア クエリに直接バインドできないことを示します。 代わりに、Load 拡張メソッドを使用して DbSet にデータを設定し、ローカル データにバインドします。 WPF の場合は、DbSet.Local にバインドします。 Windows Forms では、DbSet.Local.ToBindingList() にバインドします。

(継承元 DbQuery)
IQueryable.Expression

IQueryable LINQ 式。

(継承元 DbQuery)
IQueryable.Provider

IQueryable プロバイダー。

(継承元 DbQuery)

適用対象