DatabaseFacade クラス

定義

コンテキストのデータベース関連情報と操作へのアクセスを提供します。 通常、このクラスのインスタンスは から Database 取得され、アプリケーション コードで直接構築するようには設計されていません。

public class DatabaseFacade : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<IServiceProvider>
public class DatabaseFacade : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<IServiceProvider>, Microsoft.EntityFrameworkCore.Internal.IDatabaseFacadeDependenciesAccessor
public class DatabaseFacade : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<IServiceProvider>, Microsoft.EntityFrameworkCore.Storage.IDatabaseFacadeDependenciesAccessor
public class DatabaseFacade : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<IServiceProvider>, Microsoft.EntityFrameworkCore.Infrastructure.IResettableService, Microsoft.EntityFrameworkCore.Storage.IDatabaseFacadeDependenciesAccessor
type DatabaseFacade = class
    interface IInfrastructure<IServiceProvider>
type DatabaseFacade = class
    interface IInfrastructure<IServiceProvider>
    interface IDatabaseFacadeDependenciesAccessor
type DatabaseFacade = class
    interface IInfrastructure<IServiceProvider>
    interface IDatabaseFacadeDependenciesAccessor
    interface IResettableService
Public Class DatabaseFacade
Implements IInfrastructure(Of IServiceProvider)
Public Class DatabaseFacade
Implements IDatabaseFacadeDependenciesAccessor, IInfrastructure(Of IServiceProvider)
Public Class DatabaseFacade
Implements IDatabaseFacadeDependenciesAccessor, IInfrastructure(Of IServiceProvider), IResettableService
継承
DatabaseFacade
実装
IInfrastructure<IServiceProvider> Microsoft.EntityFrameworkCore.Internal.IDatabaseFacadeDependenciesAccessor IDatabaseFacadeDependenciesAccessor IResettableService

コンストラクター

DatabaseFacade(DbContext)

DatabaseFacade クラスの新しいインスタンスを初期化します。 通常、このクラスのインスタンスは から Database 取得され、アプリケーション コードで直接構築するようには設計されていません。

プロパティ

AutoSavepointsEnabled

を使用してトランザクションが手動で開始BeginTransaction()された後に呼び出された場合にSaveChanges()、トランザクション セーブポイントが自動的に作成されるかどうか。

AutoTransactionBehavior

'BeginTransaction' も 'UseTransaction' も呼び出されていない場合に SaveChanges() 、トランザクションを自動的に作成するかどうかを示す値を取得または設定します。

AutoTransactionsEnabled
互換性のために残されています。.
互換性のために残されています。.

'BeginTransaction' メソッドまたは 'UseTransaction' メソッドが呼び出されていない場合に SaveChanges() 、トランザクションを自動的に作成するかどうかを示す値を取得または設定します。

CurrentTransaction

コンテキストで使用されている現在 IDbContextTransaction の を取得します。トランザクションが使用されていない場合は null を取得します。

ProviderName

現在使用されているデータベース プロバイダーの名前を返します。 通常、名前はプロバイダー アセンブリの名前です。 通常、このメソッドを直接呼び出す代わりに、 などの Microsoft.EntityFrameworkCore.SqlServerDatabaseFacadeExtensions.IsSqlServer sugar メソッドを使用する方が簡単です。

メソッド

BeginTransaction()

新しいトランザクションを開始します。

BeginTransactionAsync(CancellationToken)

新しいトランザクションを非同期的に開始します。

CanConnect()

データベースが使用可能で、 に接続できるかどうかを決定します。

CanConnectAsync(CancellationToken)

データベースが使用可能で、 に接続できるかどうかを決定します。

CommitTransaction()

現在のトランザクションの未処理の操作をデータベースに適用します。

CommitTransactionAsync(CancellationToken)

現在のトランザクションの未処理の操作をデータベースに適用します。

CreateExecutionStrategy()

構成された IExecutionStrategyのインスタンスを作成します。

EnsureCreated()

コンテキストのデータベースが存在することを確認します。

EnsureCreatedAsync(CancellationToken)

コンテキストのデータベースが存在することを確認します。

EnsureDeleted()

コンテキストのデータベースが存在しないことを確認します。 存在しない場合、アクションは実行されません。 存在する場合は、データベースが削除されます。

警告: データベース全体が削除され、このコンテキストに対してモデルによって使用されるデータベース オブジェクトのみを削除する作業は行われません。

EnsureDeletedAsync(CancellationToken)

コンテキストのデータベースが存在しないことを非同期的に確認します。 存在しない場合、アクションは実行されません。 存在する場合は、データベースが削除されます。

警告: データベース全体が削除され、このコンテキストに対してモデルによって使用されるデータベース オブジェクトのみを削除する作業は行われません。

RollbackTransaction()

現在のトランザクションの未処理の操作を破棄します。

RollbackTransactionAsync(CancellationToken)

現在のトランザクションの未処理の操作を破棄します。

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

IDatabaseFacadeDependenciesAccessor.Context

これは Entity Framework Core インフラストラクチャをサポートする内部 API であり、パブリック API と同じ互換性標準の対象ではありません。 いかなるリリースでも予告なく変更または削除される場合があります。 コードで直接使用する場合は、細心の注意を払う必要があります。これを行うと、新しい Entity Framework Core リリースに更新するとアプリケーションエラーが発生する可能性があることを認識してください。

IDatabaseFacadeDependenciesAccessor.Dependencies

これは Entity Framework Core インフラストラクチャをサポートする内部 API であり、パブリック API と同じ互換性標準の対象ではありません。 いかなるリリースでも予告なく変更または削除される場合があります。 コードで直接使用する場合は、細心の注意を払う必要があります。これを行うと、新しい Entity Framework Core リリースに更新するとアプリケーションエラーが発生する可能性があることを認識してください。

IInfrastructure<IServiceProvider>.Instance

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

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

IResettableService.ResetState()

プールから使用できるようにサービスをリセットします。

IResettableService.ResetStateAsync(CancellationToken)

コンテキストのデータベース関連情報と操作へのアクセスを提供します。 通常、このクラスのインスタンスは から Database 取得され、アプリケーション コードで直接構築するようには設計されていません。

拡張メソッド

GetCosmosClient(DatabaseFacade)

この DbContextの基になる CosmosClient を取得します。

GetCosmosDatabaseId(DatabaseFacade)

この DbContextの構成済みデータベース名を取得します。

IsCosmos(DatabaseFacade)

true現在使用されているデータベース プロバイダーが Cosmos プロバイダーの場合は を返します。

GetInfrastructure<T>(IInfrastructure<T>)

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

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

IsInMemory(DatabaseFacade)

true現在使用中のデータベース プロバイダーがメモリ内プロバイダーである場合は を返します。

BeginTransaction(DatabaseFacade, IsolationLevel)

指定 IsolationLevelした を使用して新しいトランザクションを開始します。

BeginTransactionAsync(DatabaseFacade, IsolationLevel, CancellationToken)

指定 IsolationLevelした を使用して新しいトランザクションを非同期的に開始します。

CloseConnection(DatabaseFacade)

基になる DbConnectionを閉じます。

CloseConnectionAsync(DatabaseFacade)

基になる DbConnectionを閉じます。

ExecuteSql(DatabaseFacade, FormattableString)

データベースに対して指定された SQL を実行し、影響を受けた行数を返します。

ExecuteSqlAsync(DatabaseFacade, FormattableString, CancellationToken)

データベースに対して指定された SQL を実行し、影響を受けた行数を返します。

ExecuteSqlCommand(DatabaseFacade, RawSqlString, IEnumerable<Object>)
互換性のために残されています。.

データベースに対して指定された SQL を実行し、影響を受けた行数を返します。

このメソッドはトランザクションを開始しないことに注意してください。 トランザクションでこのメソッドを使用するには、最初に または を呼び出 BeginTransaction(DatabaseFacade, IsolationLevel) します UseTransaction(DatabaseFacade, DbTransaction)

SQL はべき等ではない可能性があり、トランザクションでは実行されないため、現在 ExecutionStrategy の は、このメソッドでは使用されないことに注意してください。 ExecutionStrategy は明示的に使用できるため、SQL がべき等でない場合もトランザクションを使用してください。

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

ExecuteSqlCommand(DatabaseFacade, RawSqlString, Object[])
互換性のために残されています。.

データベースに対して指定された SQL を実行し、影響を受けた行数を返します。

このメソッドはトランザクションを開始しないことに注意してください。 トランザクションでこのメソッドを使用するには、最初に または を呼び出 BeginTransaction(DatabaseFacade, IsolationLevel) します UseTransaction(DatabaseFacade, DbTransaction)

SQL はべき等ではない可能性があり、トランザクションでは実行されないため、現在 ExecutionStrategy の は、このメソッドでは使用されないことに注意してください。 ExecutionStrategy は明示的に使用できるため、SQL がべき等でない場合もトランザクションを使用してください。

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

ExecuteSqlCommand(DatabaseFacade, FormattableString)
互換性のために残されています。.

データベースに対して指定された SQL を実行し、影響を受けた行数を返します。

このメソッドはトランザクションを開始しないことに注意してください。 トランザクションでこのメソッドを使用するには、最初に または を呼び出 BeginTransaction(DatabaseFacade, IsolationLevel) します UseTransaction(DatabaseFacade, DbTransaction)

SQL はべき等ではない可能性があり、トランザクションでは実行されないため、現在 ExecutionStrategy の は、このメソッドでは使用されないことに注意してください。 ExecutionStrategy は明示的に使用できるため、SQL がべき等でない場合もトランザクションを使用してください。

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

ExecuteSqlCommand(DatabaseFacade, String, Object[])

コンテキストのデータベース関連情報と操作へのアクセスを提供します。 通常、このクラスのインスタンスは から Database 取得され、アプリケーション コードで直接構築するようには設計されていません。

ExecuteSqlCommandAsync(DatabaseFacade, RawSqlString, IEnumerable<Object>, CancellationToken)
互換性のために残されています。.

データベースに対して指定された SQL を実行し、影響を受けた行数を返します。

このメソッドはトランザクションを開始しないことに注意してください。 トランザクションでこのメソッドを使用するには、最初に または を呼び出 BeginTransaction(DatabaseFacade, IsolationLevel) します UseTransaction(DatabaseFacade, DbTransaction)

SQL はべき等ではない可能性があり、トランザクションでは実行されないため、現在 ExecutionStrategy の は、このメソッドでは使用されないことに注意してください。 ExecutionStrategy は明示的に使用できるため、SQL がべき等でない場合もトランザクションを使用してください。

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

ExecuteSqlCommandAsync(DatabaseFacade, RawSqlString, Object[])
互換性のために残されています。.

データベースに対して指定された SQL を実行し、影響を受けた行数を返します。

このメソッドはトランザクションを開始しないことに注意してください。 トランザクションでこのメソッドを使用するには、最初に または を呼び出 BeginTransaction(DatabaseFacade, IsolationLevel) します UseTransaction(DatabaseFacade, DbTransaction)

SQL はべき等ではない可能性があり、トランザクションでは実行されないため、現在 ExecutionStrategy の は、このメソッドでは使用されないことに注意してください。 ExecutionStrategy は明示的に使用できるため、SQL がべき等でない場合もトランザクションを使用してください。

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

ExecuteSqlCommandAsync(DatabaseFacade, RawSqlString, CancellationToken)
互換性のために残されています。.

データベースに対して指定された SQL を実行し、影響を受けた行数を返します。

このメソッドはトランザクションを開始しないことに注意してください。 トランザクションでこのメソッドを使用するには、最初に または UseTransaction(DatabaseFacade, DbTransaction)を呼び出しますBeginTransaction(DatabaseFacade, IsolationLevel)

SQL はべき等ではない可能性があり、トランザクションでは実行されないため、現在 ExecutionStrategy の は、このメソッドでは使用されません。 ExecutionStrategy は明示的に使用できるため、SQL がべき等でない場合もトランザクションを使用してください。

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

ExecuteSqlCommandAsync(DatabaseFacade, FormattableString, CancellationToken)
互換性のために残されています。.

データベースに対して指定された SQL を実行し、影響を受けた行数を返します。

このメソッドはトランザクションを開始しないことに注意してください。 トランザクションでこのメソッドを使用するには、最初に または UseTransaction(DatabaseFacade, DbTransaction)を呼び出しますBeginTransaction(DatabaseFacade, IsolationLevel)

SQL はべき等ではない可能性があり、トランザクションでは実行されないため、現在 ExecutionStrategy の は、このメソッドでは使用されません。 ExecutionStrategy は明示的に使用できるため、SQL がべき等でない場合もトランザクションを使用してください。

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

ExecuteSqlCommandAsync(DatabaseFacade, String, CancellationToken, Object[])

コンテキストのデータベース関連情報と操作へのアクセスを提供します。 通常、このクラスのインスタンスは から Database 取得され、アプリケーション コードで直接構築するようには設計されていません。

ExecuteSqlInterpolated(DatabaseFacade, FormattableString)

データベースに対して指定された SQL を実行し、影響を受けた行数を返します。

ExecuteSqlInterpolatedAsync(DatabaseFacade, FormattableString, CancellationToken)

データベースに対して指定された SQL を実行し、影響を受けた行数を返します。

ExecuteSqlRaw(DatabaseFacade, String, IEnumerable<Object>)

データベースに対して指定された SQL を実行し、影響を受けた行数を返します。

ExecuteSqlRaw(DatabaseFacade, String, Object[])

データベースに対して指定された SQL を実行し、影響を受けた行数を返します。

ExecuteSqlRawAsync(DatabaseFacade, String, IEnumerable<Object>, CancellationToken)

データベースに対して指定された SQL を実行し、影響を受けた行数を返します。

ExecuteSqlRawAsync(DatabaseFacade, String, Object[])

データベースに対して指定された SQL を実行し、影響を受けた行数を返します。

ExecuteSqlRawAsync(DatabaseFacade, String, CancellationToken)

データベースに対して指定された SQL を実行し、影響を受けた行数を返します。

GenerateCreateScript(DatabaseFacade)

現在のモデルのすべてのテーブルを作成するスクリプトを生成します。

GetAppliedMigrations(DatabaseFacade)

ターゲット データベースに適用されているすべての移行を取得します。

GetAppliedMigrationsAsync(DatabaseFacade, CancellationToken)

ターゲット データベースに適用されたすべての移行を非同期的に取得します。

GetCommandTimeout(DatabaseFacade)

この DbContextで実行されるコマンドのタイムアウト (秒単位) を返します。

GetConnectionString(DatabaseFacade)

この DbContextに対して構成されている基になる接続文字列を取得します。

GetDbConnection(DatabaseFacade)

この DbContextの基になる ADO.NET DbConnection を取得します。

GetMigrations(DatabaseFacade)

構成された移行アセンブリで定義されているすべての移行を取得します。

GetPendingMigrations(DatabaseFacade)

アセンブリで定義されているが、ターゲット データベースに適用されていないすべての移行を取得します。

GetPendingMigrationsAsync(DatabaseFacade, CancellationToken)

アセンブリで定義されているが、ターゲット データベースに適用されていない移行をすべて非同期的に取得します。

HasPendingModelChanges(DatabaseFacade)

モデルに true 適用する保留中の変更がある場合は を返します。

IsRelational(DatabaseFacade)

true現在使用されているデータベース プロバイダーがリレーショナル データベースの場合は を返します。

Migrate(DatabaseFacade)

コンテキストの保留中の移行をデータベースに適用します。 データベースがまだ存在しない場合は、データベースを作成します。

MigrateAsync(DatabaseFacade, CancellationToken)

コンテキストの保留中の移行を非同期的にデータベースに適用します。 データベースがまだ存在しない場合は、データベースを作成します。

OpenConnection(DatabaseFacade)

基になる DbConnectionを開きます。

OpenConnectionAsync(DatabaseFacade, CancellationToken)

基になる DbConnectionを開きます。

SetCommandTimeout(DatabaseFacade, Nullable<Int32>)

この DbContextで実行されるコマンドに使用するタイムアウト (秒単位) を設定します。

SetCommandTimeout(DatabaseFacade, TimeSpan)

この DbContextで実行されるコマンドに使用するタイムアウトを設定します。

SetConnectionString(DatabaseFacade, String)

この DbContextに対して構成されている基になる接続文字列を設定します。

SetDbConnection(DatabaseFacade, DbConnection)

この DbContextの基になる ADO.NET DbConnection を設定します。

SetDbConnection(DatabaseFacade, DbConnection, Boolean)

この DbContextの基になる ADO.NET DbConnection を設定します。

SqlQuery<TResult>(DatabaseFacade, FormattableString)

データベース プロバイダーによってネイティブにサポートされているスカラー型の結果セットを返す、生の SQL クエリに基づいて LINQ クエリを作成します。

SqlQueryRaw<TResult>(DatabaseFacade, String, Object[])

データベース プロバイダーによってネイティブにサポートされているスカラー型の結果セットを返す、生の SQL クエリに基づいて LINQ クエリを作成します。

UseTransaction(DatabaseFacade, DbTransaction)

DbTransaction 対するデータベース操作で使用される を設定します DbContext

UseTransaction(DatabaseFacade, DbTransaction, Guid)

DbTransaction 対するデータベース操作で使用される を設定します DbContext

UseTransactionAsync(DatabaseFacade, DbTransaction, Guid, CancellationToken)

DbTransaction 対するデータベース操作で使用される を設定します DbContext

UseTransactionAsync(DatabaseFacade, DbTransaction, CancellationToken)

DbTransaction 対するデータベース操作で使用される を設定します DbContext

IsSqlite(DatabaseFacade)

true現在使用中のデータベース プロバイダーが SQLite プロバイダーの場合は を返します。

IsSqlServer(DatabaseFacade)

true現在使用中のデータベース プロバイダーがSQL Server プロバイダーの場合は を返します。

EnlistTransaction(DatabaseFacade, Transaction)

データベース操作に使用する既存 Transaction のものを指定します。

GetEnlistedTransaction(DatabaseFacade)

現在参加しているトランザクションを返します。

適用対象