DatabaseLogFormatter Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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
- Ereditarietà
-
DatabaseLogFormatter
- Implementazioni
Commenti
Per impostare il nuovo formattatore, creare una configurazione basata su codice per EF usando DbConfiguration e quindi impostare la classe formattatore da usare con SetDatabaseLogFormatter(Func<DbContext,Action<String>,DatabaseLogFormatter>). Si noti che l'impostazione del tipo di formattatore da usare con questo metodo modifica il modo in cui il comando viene registrato quando Log viene usato. È comunque necessario impostare un oggetto Action<T> su Log prima che tutti i comandi vengano registrati. Per un maggiore controllo di basso livello sulla registrazione/intercettazione, vedere IDbCommandInterceptor e DbInterception. Gli intercettori possono anche essere registrati nel file di configurazione dell'applicazione. Per altre informazioni sulla configurazione di Entity Framework, vedere http://go.microsoft.com/fwlink/?LinkId=260883 .
Costruttori
DatabaseLogFormatter(Action<String>) |
Crea un formattatore che non filtra in base ad alcun DbContext oggetto e registra invece ogni comando da qualsiasi contesto e anche i comandi che non hanno origine da un contesto. |
DatabaseLogFormatter(DbContext, Action<String>) |
Crea un formattatore che registra solo i comandi provenienti dall'istanza specificata DbContext . |
Proprietà
Context |
Contesto per il quale vengono registrati i comandi oppure null se vengono registrati comandi da tutti i contesti. |
Stopwatch |
Obsoleti.
Questa proprietà è obsoleta. L'uso può comportare la registrazione di tempi di esecuzione non corretti. In alternativa, chiamare GetStopwatch(DbCommandInterceptionContext). |
Metodi
BeganTransaction(DbConnection, BeginTransactionInterceptionContext) |
Chiamato dopo BeginTransaction(IsolationLevel) che viene richiamato. L'implementazione predefinita di questo metodo filtra DbContext in Context, se presente, e quindi registra l'evento. |
BeginningTransaction(DbConnection, BeginTransactionInterceptionContext) |
Non scrive nel log a meno che non venga sottoposto a override. |
Closed(DbConnection, DbConnectionInterceptionContext) |
Chiamato dopo Close() che viene richiamato. L'implementazione predefinita di questo metodo filtra DbContext in Context, se presente, e quindi registra l'evento. |
Closing(DbConnection, DbConnectionInterceptionContext) |
Non scrive nel log a meno che non venga sottoposto a override. |
Committed(DbTransaction, DbTransactionInterceptionContext) |
Questo metodo viene chiamato dopo Commit() essere stato richiamato. L'implementazione predefinita di questo metodo filtra DbContext in Context, se presente, e quindi registra l'evento. |
Committing(DbTransaction, DbTransactionInterceptionContext) |
Non scrive nel log a meno che non venga sottoposto a override. |
ConnectionGetting(DbTransaction, DbTransactionInterceptionContext<DbConnection>) |
Non scrive nel log a meno che non venga sottoposto a override. |
ConnectionGot(DbTransaction, DbTransactionInterceptionContext<DbConnection>) |
Non scrive nel log a meno che non venga sottoposto a override. |
ConnectionStringGetting(DbConnection, DbConnectionInterceptionContext<String>) |
Non scrive nel log a meno che non venga sottoposto a override. |
ConnectionStringGot(DbConnection, DbConnectionInterceptionContext<String>) |
Non scrive nel log a meno che non venga sottoposto a override. |
ConnectionStringSet(DbConnection, DbConnectionPropertyInterceptionContext<String>) |
Non scrive nel log a meno che non venga sottoposto a override. |
ConnectionStringSetting(DbConnection, DbConnectionPropertyInterceptionContext<String>) |
Non scrive nel log a meno che non venga sottoposto a override. |
ConnectionTimeoutGetting(DbConnection, DbConnectionInterceptionContext<Int32>) |
Non scrive nel log a meno che non venga sottoposto a override. |
ConnectionTimeoutGot(DbConnection, DbConnectionInterceptionContext<Int32>) |
Non scrive nel log a meno che non venga sottoposto a override. |
DatabaseGetting(DbConnection, DbConnectionInterceptionContext<String>) |
Non scrive nel log a meno che non venga sottoposto a override. |
DatabaseGot(DbConnection, DbConnectionInterceptionContext<String>) |
Non scrive nel log a meno che non venga sottoposto a override. |
DataSourceGetting(DbConnection, DbConnectionInterceptionContext<String>) |
Non scrive nel log a meno che non venga sottoposto a override. |
DataSourceGot(DbConnection, DbConnectionInterceptionContext<String>) |
Non scrive nel log a meno che non venga sottoposto a override. |
Disposed(DbConnection, DbConnectionInterceptionContext) |
Non scrive nel log a meno che non venga sottoposto a override. |
Disposed(DbTransaction, DbTransactionInterceptionContext) |
Non scrive nel log a meno che non venga sottoposto a override. |
Disposing(DbConnection, DbConnectionInterceptionContext) |
Chiamato prima Dispose() di essere richiamato. L'implementazione predefinita di questo metodo filtra DbContext in Context, se presente, e quindi registra l'evento. |
Disposing(DbTransaction, DbTransactionInterceptionContext) |
Questo metodo viene chiamato prima di Dispose() essere richiamato. L'implementazione predefinita di questo metodo filtra DbContext in Context, se presente, e quindi registra l'evento. |
EnlistedTransaction(DbConnection, EnlistTransactionInterceptionContext) |
Non scrive nel log a meno che non venga sottoposto a override. |
EnlistingTransaction(DbConnection, EnlistTransactionInterceptionContext) |
Non scrive nel log a meno che non venga sottoposto a override. |
Equals(Object) |
Questo è il formattatore di log predefinito utilizzato quando alcuni Action<T> sono impostati sulla Log proprietà . Un formattatore diverso può essere usato creando una classe che eredita da questa classe ed esegue l'override di alcuni o tutti i metodi per modificare il comportamento. |
Executed<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) |
Chiamato ogni volta che un comando ha completato l'esecuzione. L'implementazione predefinita di questo metodo filtra DbContext in Context, se presente, e quindi chiama LogResult<TResult>(DbCommand, DbCommandInterceptionContext<TResult>). Questo metodo in genere viene sottoposto a override solo per modificare il comportamento di filtro del contesto. |
Executing<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) |
Chiamato ogni volta che un comando sta per essere eseguito. L'implementazione predefinita di questo metodo filtra DbContext in Context, se presente, e quindi chiama LogCommand<TResult>(DbCommand, DbCommandInterceptionContext<TResult>). Questo metodo in genere viene sottoposto a override solo per modificare il comportamento di filtro del contesto. |
GetHashCode() |
Questo è il formattatore di log predefinito utilizzato quando alcuni Action<T> sono impostati sulla Log proprietà . Un formattatore diverso può essere usato creando una classe che eredita da questa classe ed esegue l'override di alcuni o tutti i metodi per modificare il comportamento. |
GetStopwatch(DbCommandInterceptionContext) |
Controllo di arresto usato per l'ora delle esecuzioni. Questo controllo di arresto viene avviato alla fine dei NonQueryExecuting(DbCommand, DbCommandInterceptionContext<Int32>)metodi , ScalarExecuting(DbCommand, DbCommandInterceptionContext<Object>)e ReaderExecuting(DbCommand, DbCommandInterceptionContext<DbDataReader>) e viene arrestato all'inizio dei NonQueryExecuted(DbCommand, DbCommandInterceptionContext<Int32>)metodi , ScalarExecuted(DbCommand, DbCommandInterceptionContext<Object>)e ReaderExecuted(DbCommand, DbCommandInterceptionContext<DbDataReader>) . Se questi metodi vengono sottoposti a override e viene usato il controllo di arresto, gli override devono chiamare il metodo di base o avviare/arrestare il controllo di arresto stesso. |
GetType() |
Questo è il formattatore di log predefinito utilizzato quando alcuni Action<T> sono impostati sulla Log proprietà . Un formattatore diverso può essere usato creando una classe che eredita da questa classe ed esegue l'override di alcuni o tutti i metodi per modificare il comportamento. |
IsolationLevelGetting(DbTransaction, DbTransactionInterceptionContext<IsolationLevel>) |
Non scrive nel log a meno che non venga sottoposto a override. |
IsolationLevelGot(DbTransaction, DbTransactionInterceptionContext<IsolationLevel>) |
Non scrive nel log a meno che non venga sottoposto a override. |
LogCommand<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) |
Chiamato per registrare un comando che sta per essere eseguito. Eseguire l'override di questo metodo per modificare la modalità di registrazione del comando in System.Data.Entity.Infrastructure.Interception.DatabaseLogFormatter.WriteAction. |
LogParameter<TResult>(DbCommand, DbCommandInterceptionContext<TResult>, DbParameter) |
Chiamato da LogCommand<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) per registrare ogni parametro. Questo metodo può essere chiamato da un'implementazione sottoposta a override di LogCommand<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) a parametri di log e/o può essere sottoposto a override per modificare il modo in cui i parametri vengono registrati in System.Data.Entity.Infrastructure.Interception.DatabaseLogFormatter.WriteAction. |
LogResult<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) |
Chiamato per registrare il risultato dell'esecuzione di un comando. Eseguire l'override di questo metodo per modificare la modalità di registrazione dei risultati in System.Data.Entity.Infrastructure.Interception.DatabaseLogFormatter.WriteAction. |
NonQueryExecuted(DbCommand, DbCommandInterceptionContext<Int32>) |
Questo metodo viene chiamato dopo una chiamata a ExecuteNonQuery() o una delle relative controparti asincrone. L'implementazione predefinita arresta il controllo di arresto restituito da GetStopwatch(DbCommandInterceptionContext) e chiama Executed<TResult>(DbCommand, DbCommandInterceptionContext<TResult>). |
NonQueryExecuting(DbCommand, DbCommandInterceptionContext<Int32>) |
Questo metodo viene chiamato prima che venga effettuata una chiamata a ExecuteNonQuery() o una delle relative controparti asincrone. L'implementazione predefinita chiama Executing<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) e avvia il controllo di arresto restituito da GetStopwatch(DbCommandInterceptionContext). |
Opened(DbConnection, DbConnectionInterceptionContext) |
Chiamato dopo Open() o la relativa controparte asincrona viene richiamato. L'implementazione predefinita di questo metodo filtra DbContext in Context, se presente, e quindi registra l'evento. |
Opening(DbConnection, DbConnectionInterceptionContext) |
Non scrive nel log a meno che non venga sottoposto a override. |
ReaderExecuted(DbCommand, DbCommandInterceptionContext<DbDataReader>) |
Questo metodo viene chiamato dopo una chiamata a ExecuteReader(CommandBehavior) o una delle relative controparti asincrone. L'implementazione predefinita arresta il controllo di arresto restituito da GetStopwatch(DbCommandInterceptionContext) e chiama Executed<TResult>(DbCommand, DbCommandInterceptionContext<TResult>). |
ReaderExecuting(DbCommand, DbCommandInterceptionContext<DbDataReader>) |
Questo metodo viene chiamato prima che venga effettuata una chiamata a ExecuteReader(CommandBehavior) o una delle relative controparti asincrone. L'implementazione predefinita chiama Executing<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) e avvia il controllo di arresto restituito da GetStopwatch(DbCommandInterceptionContext). |
RolledBack(DbTransaction, DbTransactionInterceptionContext) |
Questo metodo viene chiamato dopo Rollback() essere stato richiamato. L'implementazione predefinita di questo metodo filtra DbContext in Context, se presente, e quindi registra l'evento. |
RollingBack(DbTransaction, DbTransactionInterceptionContext) |
Non scrive nel log a meno che non venga sottoposto a override. |
ScalarExecuted(DbCommand, DbCommandInterceptionContext<Object>) |
Questo metodo viene chiamato dopo una chiamata a ExecuteScalar() o una delle relative controparti asincrone. L'implementazione predefinita arresta il controllo di arresto restituito da GetStopwatch(DbCommandInterceptionContext) e chiama Executed<TResult>(DbCommand, DbCommandInterceptionContext<TResult>). |
ScalarExecuting(DbCommand, DbCommandInterceptionContext<Object>) |
Questo metodo viene chiamato prima che venga effettuata una chiamata a ExecuteScalar() o una delle relative controparti asincrone. L'implementazione predefinita chiama Executing<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) e avvia il controllo di arresto restituito da GetStopwatch(DbCommandInterceptionContext). |
ServerVersionGetting(DbConnection, DbConnectionInterceptionContext<String>) |
Non scrive nel log a meno che non venga sottoposto a override. |
ServerVersionGot(DbConnection, DbConnectionInterceptionContext<String>) |
Non scrive nel log a meno che non venga sottoposto a override. |
StateGetting(DbConnection, DbConnectionInterceptionContext<ConnectionState>) |
Non scrive nel log a meno che non venga sottoposto a override. |
StateGot(DbConnection, DbConnectionInterceptionContext<ConnectionState>) |
Non scrive nel log a meno che non venga sottoposto a override. |
ToString() |
Questo è il formattatore di log predefinito utilizzato quando alcuni Action<T> sono impostati sulla Log proprietà . Un formattatore diverso può essere usato creando una classe che eredita da questa classe ed esegue l'override di alcuni o tutti i metodi per modificare il comportamento. |
Write(String) |
Scrive la stringa specificata nel delegato di scrittura sottostante. |