共用方式為


DatabaseLogFormatter 類別

定義

這是當某些 Action<T> 設定為 Log 屬性時所使用的預設記錄格式器。 建立繼承自這個類別的類別,並覆寫部分或所有方法來變更行為,即可使用不同的格式器。

public class DatabaseLogFormatter : System.Data.Entity.Infrastructure.Interception.IDbCommandInterceptor, System.Data.Entity.Infrastructure.Interception.IDbConnectionInterceptor, System.Data.Entity.Infrastructure.Interception.IDbTransactionInterceptor
type DatabaseLogFormatter = class
    interface IDbCommandInterceptor
    interface IDbConnectionInterceptor
    interface IDbTransactionInterceptor
    interface IDbInterceptor
Public Class DatabaseLogFormatter
Implements IDbCommandInterceptor, IDbConnectionInterceptor, IDbTransactionInterceptor
繼承
DatabaseLogFormatter
實作

備註

若要設定新的格式器,請使用 DbConfiguration 建立 EF 的程式碼型組態,然後將 formatter 類別設定為搭配 SetDatabaseLogFormatter(Func<DbContext,Action<String>,DatabaseLogFormatter>) 使用。 請注意,將格式器類型設定為與這個方法搭配使用,會變更使用命令時 Log 記錄的方式。 在記錄任何命令之前,仍然需要將 設定 Action<T>Log 為 。 如需對記錄/攔截的更低階控制,請參閱 IDbCommandInterceptorDbInterception 。 攔截器也可以在應用程式的組態檔中註冊。 如需 Entity Framework 組態的詳細資訊,請參閱 http://go.microsoft.com/fwlink/?LinkId=260883 。

建構函式

DatabaseLogFormatter(Action<String>)

建立不會依任何 DbContext 篩選的格式器,並改為記錄來自任何內容的每個命令,以及源自內容的命令。

DatabaseLogFormatter(DbContext, Action<String>)

建立格式子,其只會記錄來自指定 DbContext 實例的命令。

屬性

Context

正在記錄命令的內容,如果記錄來自所有內容的命令,則為 null。

Stopwatch
已淘汰.

這個屬性已經過時。 使用它可能會導致記錄不正確的執行時間。 請改為呼叫 GetStopwatch(DbCommandInterceptionContext)

方法

BeganTransaction(DbConnection, BeginTransactionInterceptionContext)

叫用 之後 BeginTransaction(IsolationLevel) 呼叫。 這個方法的預設實作會依設定為 DbContextContext 篩選,如果有的話,然後記錄事件。

BeginningTransaction(DbConnection, BeginTransactionInterceptionContext)

除非覆寫,否則不會寫入記錄。

Closed(DbConnection, DbConnectionInterceptionContext)

叫用 之後 Close() 呼叫。 這個方法的預設實作會依設定為 DbContextContext 篩選,如果有的話,然後記錄事件。

Closing(DbConnection, DbConnectionInterceptionContext)

除非覆寫,否則不會寫入記錄。

Committed(DbTransaction, DbTransactionInterceptionContext)

叫用 之後 Commit() 會呼叫這個方法。 這個方法的預設實作會依設定為 DbContextContext 篩選,如果有的話,然後記錄事件。

Committing(DbTransaction, DbTransactionInterceptionContext)

除非覆寫,否則不會寫入記錄。

ConnectionGetting(DbTransaction, DbTransactionInterceptionContext<DbConnection>)

除非覆寫,否則不會寫入記錄。

ConnectionGot(DbTransaction, DbTransactionInterceptionContext<DbConnection>)

除非覆寫,否則不會寫入記錄。

ConnectionStringGetting(DbConnection, DbConnectionInterceptionContext<String>)

除非覆寫,否則不會寫入記錄。

ConnectionStringGot(DbConnection, DbConnectionInterceptionContext<String>)

除非覆寫,否則不會寫入記錄。

ConnectionStringSet(DbConnection, DbConnectionPropertyInterceptionContext<String>)

除非覆寫,否則不會寫入記錄。

ConnectionStringSetting(DbConnection, DbConnectionPropertyInterceptionContext<String>)

除非覆寫,否則不會寫入記錄。

ConnectionTimeoutGetting(DbConnection, DbConnectionInterceptionContext<Int32>)

除非覆寫,否則不會寫入記錄。

ConnectionTimeoutGot(DbConnection, DbConnectionInterceptionContext<Int32>)

除非覆寫,否則不會寫入記錄。

DatabaseGetting(DbConnection, DbConnectionInterceptionContext<String>)

除非覆寫,否則不會寫入記錄。

DatabaseGot(DbConnection, DbConnectionInterceptionContext<String>)

除非覆寫,否則不會寫入記錄。

DataSourceGetting(DbConnection, DbConnectionInterceptionContext<String>)

除非覆寫,否則不會寫入記錄。

DataSourceGot(DbConnection, DbConnectionInterceptionContext<String>)

除非覆寫,否則不會寫入記錄。

Disposed(DbConnection, DbConnectionInterceptionContext)

除非覆寫,否則不會寫入記錄。

Disposed(DbTransaction, DbTransactionInterceptionContext)

除非覆寫,否則不會寫入記錄。

Disposing(DbConnection, DbConnectionInterceptionContext)

在叫用之前 Dispose() 呼叫。 這個方法的預設實作會依設定為 DbContextContext 篩選,如果有的話,然後記錄事件。

Disposing(DbTransaction, DbTransactionInterceptionContext)

叫用之前 Dispose() 會呼叫這個方法。 這個方法的預設實作會依設定為 DbContextContext 篩選,如果有的話,然後記錄事件。

EnlistedTransaction(DbConnection, EnlistTransactionInterceptionContext)

除非覆寫,否則不會寫入記錄。

EnlistingTransaction(DbConnection, EnlistTransactionInterceptionContext)

除非覆寫,否則不會寫入記錄。

Equals(Object)

這是當某些 Action<T> 設定為 Log 屬性時所使用的預設記錄格式器。 建立繼承自這個類別的類別,並覆寫部分或所有方法來變更行為,即可使用不同的格式器。

Executed<TResult>(DbCommand, DbCommandInterceptionContext<TResult>)

每當命令完成執行時呼叫。 這個方法的預設實作會依設定為 DbContextContext 篩選,如果有的話,然後呼叫 LogResult<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) 。 這個方法通常只會覆寫以變更內容篩選行為。

Executing<TResult>(DbCommand, DbCommandInterceptionContext<TResult>)

每當即將執行命令時呼叫。 這個方法的預設實作會依設定為 DbContextContext 篩選,如果有的話,然後呼叫 LogCommand<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) 。 這個方法通常只會覆寫以變更內容篩選行為。

GetHashCode()

這是當某些 Action<T> 設定為 Log 屬性時所使用的預設記錄格式器。 建立繼承自這個類別的類別,並覆寫部分或所有方法來變更行為,即可使用不同的格式器。

GetStopwatch(DbCommandInterceptionContext)

用於時間執行的停止監看式。 這個停駐表會在 、 和 方法的 NonQueryExecuting(DbCommand, DbCommandInterceptionContext<Int32>) 結尾啟動,並在 、 ScalarExecuted(DbCommand, DbCommandInterceptionContext<Object>)ReaderExecuted(DbCommand, DbCommandInterceptionContext<DbDataReader>) 方法的 NonQueryExecuted(DbCommand, DbCommandInterceptionContext<Int32>) 開頭 ReaderExecuting(DbCommand, DbCommandInterceptionContext<DbDataReader>) 停止。 ScalarExecuting(DbCommand, DbCommandInterceptionContext<Object>) 如果覆寫這些方法並正在使用停止監看式,則覆寫應該呼叫基底方法或啟動/停止監看式本身。

GetType()

這是當某些 Action<T> 設定為 Log 屬性時所使用的預設記錄格式器。 建立繼承自這個類別的類別,並覆寫部分或所有方法來變更行為,即可使用不同的格式器。

IsolationLevelGetting(DbTransaction, DbTransactionInterceptionContext<IsolationLevel>)

除非覆寫,否則不會寫入記錄。

IsolationLevelGot(DbTransaction, DbTransactionInterceptionContext<IsolationLevel>)

除非覆寫,否則不會寫入記錄。

LogCommand<TResult>(DbCommand, DbCommandInterceptionContext<TResult>)

呼叫 以記錄即將執行的命令。 覆寫這個方法,以變更將命令記錄到 System.Data.Entity.Infrastructure.Interception.DatabaseLogFormatter.WriteAction 的方式。

LogParameter<TResult>(DbCommand, DbCommandInterceptionContext<TResult>, DbParameter)

呼叫 者 LogCommand<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) 以記錄每個參數。 這個方法可以從 的覆寫實 LogCommand<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) 作呼叫至記錄參數,以及/或可以覆寫以變更參數記錄 System.Data.Entity.Infrastructure.Interception.DatabaseLogFormatter.WriteAction 到 的方式。

LogResult<TResult>(DbCommand, DbCommandInterceptionContext<TResult>)

呼叫 以記錄執行命令的結果。 覆寫這個方法,以變更將結果記錄至 System.Data.Entity.Infrastructure.Interception.DatabaseLogFormatter.WriteAction 的方式。

NonQueryExecuted(DbCommand, DbCommandInterceptionContext<Int32>)

呼叫 或其其中一個非同步對應專案之後,就會呼叫 ExecuteNonQuery() 這個方法。 預設實作會停止從 GetStopwatch(DbCommandInterceptionContext) 傳回的停止監看式,並呼叫 Executed<TResult>(DbCommand, DbCommandInterceptionContext<TResult>)

NonQueryExecuting(DbCommand, DbCommandInterceptionContext<Int32>)

在呼叫 或其其中一個非同步對應專案之前,會呼叫 ExecuteNonQuery() 這個方法。 預設實作會呼叫 Executing<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) 並啟動從 GetStopwatch(DbCommandInterceptionContext) 傳回的停止監看式。

Opened(DbConnection, DbConnectionInterceptionContext)

叫用 之後 Open() 或其非同步對應專案。 這個方法的預設實作會依設定為 DbContextContext 篩選,如果有的話,然後記錄事件。

Opening(DbConnection, DbConnectionInterceptionContext)

除非覆寫,否則不會寫入記錄。

ReaderExecuted(DbCommand, DbCommandInterceptionContext<DbDataReader>)

呼叫 或其其中一個非同步對應專案之後,就會呼叫 ExecuteReader(CommandBehavior) 這個方法。 預設實作會停止從 GetStopwatch(DbCommandInterceptionContext) 傳回的停止監看式,並呼叫 Executed<TResult>(DbCommand, DbCommandInterceptionContext<TResult>)

ReaderExecuting(DbCommand, DbCommandInterceptionContext<DbDataReader>)

在呼叫 或其其中一個非同步對應專案之前,會呼叫 ExecuteReader(CommandBehavior) 這個方法。 預設實作會呼叫 Executing<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) 並啟動從 GetStopwatch(DbCommandInterceptionContext) 傳回的停止監看式。

RolledBack(DbTransaction, DbTransactionInterceptionContext)

叫用 之後 Rollback() 會呼叫這個方法。 這個方法的預設實作會依設定為 DbContextContext 篩選,如果有的話,然後記錄事件。

RollingBack(DbTransaction, DbTransactionInterceptionContext)

除非覆寫,否則不會寫入記錄。

ScalarExecuted(DbCommand, DbCommandInterceptionContext<Object>)

呼叫 或其其中一個非同步對應專案之後,就會呼叫 ExecuteScalar() 這個方法。 預設實作會停止從 GetStopwatch(DbCommandInterceptionContext) 傳回的停止監看式,並呼叫 Executed<TResult>(DbCommand, DbCommandInterceptionContext<TResult>)

ScalarExecuting(DbCommand, DbCommandInterceptionContext<Object>)

在呼叫 或其其中一個非同步對應專案之前,會呼叫 ExecuteScalar() 這個方法。 預設實作會呼叫 Executing<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) 並啟動從 GetStopwatch(DbCommandInterceptionContext) 傳回的停止監看式。

ServerVersionGetting(DbConnection, DbConnectionInterceptionContext<String>)

除非覆寫,否則不會寫入記錄。

ServerVersionGot(DbConnection, DbConnectionInterceptionContext<String>)

除非覆寫,否則不會寫入記錄。

StateGetting(DbConnection, DbConnectionInterceptionContext<ConnectionState>)

除非覆寫,否則不會寫入記錄。

StateGot(DbConnection, DbConnectionInterceptionContext<ConnectionState>)

除非覆寫,否則不會寫入記錄。

ToString()

這是當某些 Action<T> 設定為 Log 屬性時所使用的預設記錄格式器。 建立繼承自這個類別的類別,並覆寫部分或所有方法來變更行為,即可使用不同的格式器。

Write(String)

將指定的字串寫入基礎寫入委派。

適用於