Database クラス

定義

このクラスのインスタンスは、オブジェクトから取得され、 DbContext DbContext または接続をバッキングする実際のデータベースを管理するために使用できます。 管理には、データベースの作成、削除、存在の確認が含まれます。 このクラスの静的メソッドを使用して、データベースの削除と存在の確認を実行できるのは、接続のみを使用する (つまり、完全なコンテキストを使用しない) ことに注意してください。

public class Database
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Justification="The DbContextTransaction and EntityTransaction should never be disposed by this class")]
public class Database
type Database = class
Public Class Database
継承
Database
属性

プロパティ

CommandTimeout

すべてのコンテキスト操作のタイムアウト値を秒単位で取得または設定します。 既定値は null です。 null は、基になるプロバイダーの既定値が使用されることを示します。

Connection

このコンテキストで使用されている接続を返します。 これにより、接続が存在しない場合に、接続が作成される可能性があります。

CurrentTransaction

基になるストア接続が参加しているトランザクションを取得します。 null も指定できます。

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

DbConnectionデータベース名または接続文字列からを作成するときに使用する接続ファクトリ。

Log

によって生成された SQL を指定されたデリゲートに記録するには、このプロパティを設定し DbContext ます。 たとえば、コンソールにログを記録するには、このプロパティをに設定 Write(String) します。

メソッド

BeginTransaction()

基になるストア接続でトランザクションを開始します

BeginTransaction(IsolationLevel)

指定された分離レベルを使用して、基になるストア接続でトランザクションを開始します

CompatibleWithModel(Boolean)

データベースが現在の Code First モデルと互換性があるかどうかを確認します。

Create()

バッキング コンテキストで定義されたモデルに対し、データベース サーバー上に新しいデータベースを作成します。 データベースの初期化方法が実行される前にこのメソッドを呼び出すと、初期化方法の実行が無効になります。

CreateIfNotExists()

同じ名前のデータベースがサーバー上に存在しない場合に限り、バッキング コンテキストで定義されたモデルに対し、データベース サーバー上に新しいデータベースを作成します。

Delete()

データベースが存在する場合は、データベース サーバー上のデータベースを削除し、それ以外の場合は何も行われません。 初期化子の外部からこのメソッドを呼び出すと、データベースは初期化されていないとマークされます。 これは、削除された後にデータベースを再度使用しようとした場合に、初期化子セットが再び実行されることを意味し、通常、データベースの作成は自動的に再試行されます。

Delete(DbConnection)

データベースが存在する場合は、データベース サーバー上のデータベースを削除し、それ以外の場合は何も行われません。

Delete(String)

データベースが存在する場合は、データベース サーバー上のデータベースを削除し、それ以外の場合は何も行われません。 データベースへの接続は、クラスのドキュメントで説明されているのと同じ方法で、指定されたデータベース名または接続文字列を使用して作成され DbContext ます。

Equals(Object)
ExecuteSqlCommand(String, Object[])

データベースに対して指定した DDL/DML コマンドを実行します。

SQL を受け入れる API と同様に、SQL インジェクション攻撃から保護するために、ユーザー入力をパラメーター化することが重要です。 パラメータープレースホルダーを SQL クエリ文字列に含め、パラメーター値を追加の引数として指定できます。 指定したパラメーター値は、自動的に DbParameter に変換されます。 context.Database.Exeの、[dbo の更新] を実行します。Post SET レーティング = 5 WHERE Author = @p0 ", userSuppliedAuthor);または、DbParameter を構築して SqlQuery に渡すこともできます。 こうすることで、SQL クエリ文字列に名前付きパラメーターを使用できます。 context.Database.Exeの、[dbo の更新] を実行します。Post SET レーティング = 5 WHERE Author = @author ", New SqlParameter (" @author ", userSuppliedAuthor));

ExecuteSqlCommand(TransactionalBehavior, String, Object[])

データベースに対して指定した DDL/DML コマンドを実行します。

SQL を受け入れる API と同様に、SQL インジェクション攻撃から保護するために、ユーザー入力をパラメーター化することが重要です。 パラメータープレースホルダーを SQL クエリ文字列に含め、パラメーター値を追加の引数として指定できます。 指定したパラメーター値は、自動的に DbParameter に変換されます。 context.Database.Exeの、[dbo の更新] を実行します。Post SET レーティング = 5 WHERE Author = @p0 ", userSuppliedAuthor);または、DbParameter を構築して SqlQuery に渡すこともできます。 こうすることで、SQL クエリ文字列に名前付きパラメーターを使用できます。 context.Database.Exeの、[dbo の更新] を実行します。Post SET レーティング = 5 WHERE Author = @author ", New SqlParameter (" @author ", userSuppliedAuthor));

ExecuteSqlCommandAsync(String, CancellationToken, Object[])

指定された DDL/DML コマンドをデータベースに対して非同期に実行します。

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

ExecuteSqlCommandAsync(String, Object[])

指定された DDL/DML コマンドをデータベースに対して非同期に実行します。

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

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

指定された DDL/DML コマンドをデータベースに対して非同期に実行します。

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

ExecuteSqlCommandAsync(TransactionalBehavior, String, Object[])

指定された DDL/DML コマンドをデータベースに対して非同期に実行します。

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

Exists()

サーバー上にデータベースが存在するかどうかを確認します。

Exists(DbConnection)

サーバー上にデータベースが存在するかどうかを確認します。

Exists(String)

サーバー上にデータベースが存在するかどうかを確認します。 データベースへの接続は、クラスのドキュメントで説明されているのと同じ方法で、指定されたデータベース名または接続文字列を使用して作成され DbContext ます。

GetHashCode()

Serves as the default hash function.

GetType()

現在のインスタンスの Type を取得します。

Initialize(Boolean)

このコンテキストに登録されているを実行し IDatabaseInitializer<TContext> ます。 "Force" が true に設定されている場合、初期化子は、以前に実行されたかどうかに関係なく実行されます。 これは、アプリケーションの実行中にデータベースが削除され、初期化が必要になった場合に役立ちます。 "Force" が false に設定されている場合、初期化子は、このアプリケーションドメイン内のこのコンテキスト、モデル、および接続に対してまだ実行されていない場合にのみ実行されます。 このメソッドは、通常、操作を開始する前にデータベースが作成およびシードされていることを確認する必要がある場合に使用します。この処理を実行すると、操作がトランザクションの一部である場合などの問題が発生します。

SetInitializer<TContext>(IDatabaseInitializer<TContext>)

指定されたコンテキスト型に使用するデータベース初期化子を設定します。 データベース初期化子は、指定された型を使用して初めてデータベースにアクセスするときに呼び出され DbContext ます。 Code First コンテキストの既定の方法は、のインスタンス CreateDatabaseIfNotExists<TContext> です。

SqlQuery(Type, String, Object[])

指定した型の要素を返す生の SQL クエリを作成します。 型は、クエリから返される列の名前に一致するプロパティを持つ任意の型、または単純なプリミティブ型を指定できます。 型はエンティティ型である必要はありません。 返されたオブジェクトの型がエンティティ型であっても、このクエリの結果がコンテキストによって追跡されることはありません。 コンテキストに SqlQuery(String, Object[]) よって追跡されるエンティティを返すには、メソッドを使用します。

SqlQuery<TElement>(String, Object[])

指定したジェネリック型の要素を返す生の SQL クエリを作成します。 型は、クエリから返される列の名前に一致するプロパティを持つ任意の型、または単純なプリミティブ型を指定できます。 型はエンティティ型である必要はありません。 返されたオブジェクトの型がエンティティ型であっても、このクエリの結果がコンテキストによって追跡されることはありません。 コンテキストに SqlQuery(String, Object[]) よって追跡されるエンティティを返すには、メソッドを使用します。

ToString()

Returns a string that represents the current object.

UseTransaction(DbTransaction)

DatabaseEntity Framework で外部トランザクション内のコマンドを実行する場合に、オブジェクトの外部で作成されたデータベーストランザクションを渡すことができるようにします。 または、null を渡して、フレームワークのそのトランザクションに関する知識をクリアします。

適用対象