共用方式為


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

將此屬性設定為將 所產生的 DbContext SQL 記錄至指定的委派。 例如,若要登入主控台,請將此屬性設定為 Write(String)

方法

BeginTransaction()

在基礎存放區連線上開始交易

BeginTransaction(IsolationLevel)

使用指定的隔離等級,在基礎存放區連接上開始交易

CompatibleWithModel(Boolean)

檢查資料庫是否與目前的 Code First 模型相容。

Create()

在資料庫伺服器上針對支援內容中所定義的模型建立新的資料庫。 請注意,在執行資料庫初始化策略之前呼叫這個方法將會停用該策略的執行。

CreateIfNotExists()

在資料庫伺服器上針對支援內容中所定義的模型建立新的資料庫,但前提是伺服器上尚未有同名的資料庫存在。

Delete()

如果資料庫伺服器上有資料庫則將它刪除,否則不執行任何動作。 從初始化運算式外部呼叫這個方法,會將資料庫標示為尚未初始化。 這表示如果嘗試在刪除資料庫之後再次使用資料庫,則任何初始化運算式集都會再次執行,而且通常會自動嘗試再次建立資料庫。

Delete(DbConnection)

如果資料庫伺服器上有資料庫則將它刪除,否則不執行任何動作。

Delete(String)

如果資料庫伺服器上有資料庫則將它刪除,否則不執行任何動作。 使用指定的資料庫名稱或連接字串來建立資料庫的連線,方式與 類別的檔 DbContext 中所述相同。

Equals(Object)

這個類別的實例是從 DbContext 物件取得,可用來管理支援 DbCoNtext 或連接的實際資料庫。 其中包括建立和刪除資料庫及檢查資料庫是否存在。 請注意,只要使用連接 (即可執行刪除和檢查資料庫是否存在,亦即使用這個類別的靜態方法,而不需完整內容) 。

ExecuteSqlCommand(String, Object[])

針對資料庫執行給定的 DDL/DML 命令。

如同任何接受 SQL 的 API,請務必將任何使用者輸入參數化,以防止 SQL 插入式攻擊。 您可以在 SQL 查詢字串中包含參數預留位置,然後提供參數值作為其他引數。 您提供的任何參數值都會自動轉換成 DbParameter。 上下文。Database.ExecuteSqlCommand (「UPDATE dbo.文章 SET 評等 = 5 WHERE Author = @p0 「, userSuppliedAuthor) ;或者,您也可以建構 DbParameter,並將它提供給 SqlQuery。 這可讓您在 SQL 查詢字串中使用具名參數。 上下文。Database.ExecuteSqlCommand (「UPDATE dbo.文章 SET 評等 = 5 WHERE Author = @author 「, new SqlParameter (」@author「, userSuppliedAuthor) ) ;

ExecuteSqlCommand(TransactionalBehavior, String, Object[])

針對資料庫執行給定的 DDL/DML 命令。

如同任何接受 SQL 的 API,請務必將任何使用者輸入參數化,以防止 SQL 插入式攻擊。 您可以在 SQL 查詢字串中包含參數預留位置,然後提供參數值作為其他引數。 您提供的任何參數值都會自動轉換成 DbParameter。 上下文。Database.ExecuteSqlCommand (「UPDATE dbo.文章 SET 評等 = 5 WHERE Author = @p0 「, userSuppliedAuthor) ;或者,您也可以建構 DbParameter,並將它提供給 SqlQuery。 這可讓您在 SQL 查詢字串中使用具名參數。 上下文。Database.ExecuteSqlCommand (「UPDATE dbo.文章 SET 評等 = 5 WHERE Author = @author 「, new SqlParameter (」@author「, userSuppliedAuthor) ) ;

ExecuteSqlCommandAsync(String, CancellationToken, Object[])

以非同步方式對資料庫執行指定的 DDL/DML 命令。

如同任何接受 SQL 的 API,請務必將任何使用者輸入參數化,以防止 SQL 插入式攻擊。 您可以在 SQL 查詢字串中包含參數預留位置,然後提供參數值作為其他引數。 您提供的任何參數值都會自動轉換成 DbParameter。 上下文。Database.ExecuteSqlCommandAsync (「UPDATE dbo.文章 SET 評等 = 5 WHERE Author = @p0 「, userSuppliedAuthor) ;或者,您也可以建構 DbParameter,並將它提供給 SqlQuery。 這可讓您在 SQL 查詢字串中使用具名參數。 上下文。Database.ExecuteSqlCommandAsync (「UPDATE dbo.文章 SET 評等 = 5 WHERE Author = @author 「, new SqlParameter (」@author「, userSuppliedAuthor) ) ;

ExecuteSqlCommandAsync(String, Object[])

以非同步方式對資料庫執行指定的 DDL/DML 命令。

如同任何接受 SQL 的 API,請務必將任何使用者輸入參數化,以防止 SQL 插入式攻擊。 您可以在 SQL 查詢字串中包含參數預留位置,然後提供參數值作為其他引數。 您提供的任何參數值都會自動轉換成 DbParameter。 上下文。Database.ExecuteSqlCommandAsync (「UPDATE dbo.文章 SET 評等 = 5 WHERE Author = @p0 「, userSuppliedAuthor) ;或者,您也可以建構 DbParameter,並將它提供給 SqlQuery。 這可讓您在 SQL 查詢字串中使用具名參數。 上下文。Database.ExecuteSqlCommandAsync (「UPDATE dbo.文章 SET 評等 = 5 WHERE Author = @author 「, new SqlParameter (」@author「, userSuppliedAuthor) ) ;

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

以非同步方式對資料庫執行指定的 DDL/DML 命令。

如同任何接受 SQL 的 API,請務必將任何使用者輸入參數化,以防止 SQL 插入式攻擊。 您可以在 SQL 查詢字串中包含參數預留位置,然後提供參數值作為其他引數。 您提供的任何參數值都會自動轉換成 DbParameter。 上下文。Database.ExecuteSqlCommandAsync (「UPDATE dbo.文章 SET 評等 = 5 WHERE Author = @p0 「, userSuppliedAuthor) ;或者,您也可以建構 DbParameter,並將它提供給 SqlQuery。 這可讓您在 SQL 查詢字串中使用具名參數。 上下文。Database.ExecuteSqlCommandAsync (「UPDATE dbo.文章 SET 評等 = 5 WHERE Author = @author 「, new SqlParameter (」@author「, userSuppliedAuthor) ) ;

ExecuteSqlCommandAsync(TransactionalBehavior, String, Object[])

以非同步方式對資料庫執行指定的 DDL/DML 命令。

如同任何接受 SQL 的 API,請務必將任何使用者輸入參數化,以防止 SQL 插入式攻擊。 您可以在 SQL 查詢字串中包含參數預留位置,然後提供參數值作為其他引數。 您提供的任何參數值都會自動轉換成 DbParameter。 上下文。Database.ExecuteSqlCommandAsync (「UPDATE dbo.文章 SET 評等 = 5 WHERE Author = @p0 「, userSuppliedAuthor) ;或者,您也可以建構 DbParameter,並將它提供給 SqlQuery。 這可讓您在 SQL 查詢字串中使用具名參數。 上下文。Database.ExecuteSqlCommandAsync (「UPDATE dbo.文章 SET 評等 = 5 WHERE Author = @author 「, new SqlParameter (」@author「, userSuppliedAuthor) ) ;

Exists()

檢查資料庫是否存在伺服器上。

Exists(DbConnection)

檢查資料庫是否存在伺服器上。

Exists(String)

檢查資料庫是否存在伺服器上。 使用指定的資料庫名稱或連接字串來建立資料庫的連線,方式與 類別的檔 DbContext 中所述相同。

GetHashCode()

這個類別的實例是從 DbContext 物件取得,可用來管理支援 DbCoNtext 或連接的實際資料庫。 其中包括建立和刪除資料庫及檢查資料庫是否存在。 請注意,只要使用連接 (即可執行刪除和檢查資料庫是否存在,亦即使用這個類別的靜態方法,而不需完整內容) 。

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()

這個類別的實例是從 DbContext 物件取得,可用來管理支援 DbCoNtext 或連接的實際資料庫。 其中包括建立和刪除資料庫及檢查資料庫是否存在。 請注意,只要使用連接 (即可執行刪除和檢查資料庫是否存在,亦即使用這個類別的靜態方法,而不需完整內容) 。

UseTransaction(DbTransaction)

如果您希望 Entity Framework 在該外部交易內執行命令,讓使用者傳入物件外部 Database 建立的資料庫交易。 或者,傳入 null 以清除架構對該交易的知識。

適用於