DatabaseLogFormatter Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
- Dziedziczenie
-
DatabaseLogFormatter
- Implementuje
Uwagi
Aby ustawić nowy formatator, utwórz konfigurację opartą na kodzie dla platformy EF przy użyciu programu EF, DbConfiguration a następnie ustaw klasę formatera do użycia z SetDatabaseLogFormatter(Func<DbContext,Action<String>,DatabaseLogFormatter>)programem . Należy pamiętać, że ustawienie typu formatującego do użycia z tą metodą powoduje zmianę sposobu rejestrowania polecenia, gdy Log jest używany. Nadal należy ustawić wartość Action<T> na przed Log zarejestrowaniem wszystkich poleceń. Aby uzyskać bardziej niską kontrolę nad rejestrowaniem/przechwytywaniem, zobacz IDbCommandInterceptor i DbInterception. Przechwytniki można również zarejestrować w pliku konfiguracji aplikacji. Zobacz http://go.microsoft.com/fwlink/?LinkId=260883 , aby uzyskać więcej informacji na temat konfiguracji programu Entity Framework.
Konstruktory
DatabaseLogFormatter(Action<String>) |
Tworzy formater, który nie będzie filtrować według żadnego DbContext polecenia i zamiast tego rejestruje każde polecenie z dowolnego kontekstu, a także polecenia, które nie pochodzą z kontekstu. |
DatabaseLogFormatter(DbContext, Action<String>) |
Tworzy program formatujący, który będzie rejestrować tylko polecenia pochodzące z danego DbContext wystąpienia. |
Właściwości
Context |
Kontekst, dla którego są rejestrowane polecenia lub null, jeśli polecenia ze wszystkich kontekstów są rejestrowane. |
Stopwatch |
Przestarzałe.
Ta właściwość jest przestarzała. Użycie go może spowodować rejestrowanie nieprawidłowych czasów wykonywania. Wywołaj GetStopwatch(DbCommandInterceptionContext) zamiast tego. |
Metody
BeganTransaction(DbConnection, BeginTransactionInterceptionContext) |
Wywoływane po BeginTransaction(IsolationLevel) wywołaniu. Domyślna implementacja tej metody filtruje według DbContext ustawienia Context, jeśli istnieje, a następnie rejestruje zdarzenie. |
BeginningTransaction(DbConnection, BeginTransactionInterceptionContext) |
Nie zapisuje w dzienniku, chyba że zostanie zastąpiony. |
Closed(DbConnection, DbConnectionInterceptionContext) |
Wywoływane po Close() wywołaniu. Domyślna implementacja tej metody filtruje według DbContext ustawienia Context, jeśli istnieje, a następnie rejestruje zdarzenie. |
Closing(DbConnection, DbConnectionInterceptionContext) |
Nie zapisuje w dzienniku, chyba że zostanie zastąpiony. |
Committed(DbTransaction, DbTransactionInterceptionContext) |
Ta metoda jest wywoływana po Commit() wywołaniu. Domyślna implementacja tej metody filtruje według DbContext ustawienia Context, jeśli istnieje, a następnie rejestruje zdarzenie. |
Committing(DbTransaction, DbTransactionInterceptionContext) |
Nie zapisuje w dzienniku, chyba że zostanie zastąpiony. |
ConnectionGetting(DbTransaction, DbTransactionInterceptionContext<DbConnection>) |
Nie zapisuje w dzienniku, chyba że zostanie zastąpiony. |
ConnectionGot(DbTransaction, DbTransactionInterceptionContext<DbConnection>) |
Nie zapisuje w dzienniku, chyba że zostanie zastąpiony. |
ConnectionStringGetting(DbConnection, DbConnectionInterceptionContext<String>) |
Nie zapisuje w dzienniku, chyba że zostanie zastąpiony. |
ConnectionStringGot(DbConnection, DbConnectionInterceptionContext<String>) |
Nie zapisuje w dzienniku, chyba że zostanie zastąpiony. |
ConnectionStringSet(DbConnection, DbConnectionPropertyInterceptionContext<String>) |
Nie zapisuje w dzienniku, chyba że zostanie zastąpiony. |
ConnectionStringSetting(DbConnection, DbConnectionPropertyInterceptionContext<String>) |
Nie zapisuje w dzienniku, chyba że zostanie zastąpiony. |
ConnectionTimeoutGetting(DbConnection, DbConnectionInterceptionContext<Int32>) |
Nie zapisuje w dzienniku, chyba że zostanie zastąpiony. |
ConnectionTimeoutGot(DbConnection, DbConnectionInterceptionContext<Int32>) |
Nie zapisuje w dzienniku, chyba że zostanie zastąpiony. |
DatabaseGetting(DbConnection, DbConnectionInterceptionContext<String>) |
Nie zapisuje w dzienniku, chyba że zostanie zastąpiony. |
DatabaseGot(DbConnection, DbConnectionInterceptionContext<String>) |
Nie zapisuje w dzienniku, chyba że zostanie zastąpiony. |
DataSourceGetting(DbConnection, DbConnectionInterceptionContext<String>) |
Nie zapisuje w dzienniku, chyba że zostanie zastąpiony. |
DataSourceGot(DbConnection, DbConnectionInterceptionContext<String>) |
Nie zapisuje w dzienniku, chyba że zostanie zastąpiony. |
Disposed(DbConnection, DbConnectionInterceptionContext) |
Nie zapisuje w dzienniku, chyba że zostanie zastąpiony. |
Disposed(DbTransaction, DbTransactionInterceptionContext) |
Nie zapisuje w dzienniku, chyba że zostanie zastąpiony. |
Disposing(DbConnection, DbConnectionInterceptionContext) |
Wywoływane przed Dispose() wywołaniem. Domyślna implementacja tej metody filtruje według DbContext ustawienia Context, jeśli istnieje, a następnie rejestruje zdarzenie. |
Disposing(DbTransaction, DbTransactionInterceptionContext) |
Ta metoda jest wywoływana przed Dispose() wywołaniem. Domyślna implementacja tej metody filtruje według DbContext ustawienia Context, jeśli istnieje, a następnie rejestruje zdarzenie. |
EnlistedTransaction(DbConnection, EnlistTransactionInterceptionContext) |
Nie zapisuje w dzienniku, chyba że zostanie zastąpiony. |
EnlistingTransaction(DbConnection, EnlistTransactionInterceptionContext) |
Nie zapisuje w dzienniku, chyba że zostanie zastąpiony. |
Equals(Object) |
Jest to domyślny formater dziennika używany, gdy niektóre Action<T> są ustawione na Log właściwość . Można użyć innego formatatora, tworząc klasę dziedziczą po tej klasie i zastępuje niektóre lub wszystkie metody zmiany zachowania. |
Executed<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) |
Wywoływane za każdym razem, gdy polecenie zostało wykonane. Domyślna implementacja tej metody filtruje według DbContext wartości , Contextjeśli istnieje, a następnie wywołuje metodę LogResult<TResult>(DbCommand, DbCommandInterceptionContext<TResult>). Ta metoda zwykle jest zastępowana tylko w celu zmiany zachowania filtrowania kontekstu. |
Executing<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) |
Wywoływane za każdym razem, gdy polecenie ma zostać wykonane. Domyślna implementacja tej metody filtruje według DbContext wartości , Contextjeśli istnieje, a następnie wywołuje metodę LogCommand<TResult>(DbCommand, DbCommandInterceptionContext<TResult>). Ta metoda zwykle jest zastępowana tylko w celu zmiany zachowania filtrowania kontekstu. |
GetHashCode() |
Jest to domyślny formater dziennika używany, gdy niektóre Action<T> są ustawione na Log właściwość . Można użyć innego formatatora, tworząc klasę dziedziczą po tej klasie i zastępuje niektóre lub wszystkie metody zmiany zachowania. |
GetStopwatch(DbCommandInterceptionContext) |
Stoper używany do wykonywania czasu. Ten stoper jest uruchamiany na końcu NonQueryExecuting(DbCommand, DbCommandInterceptionContext<Int32>)metod , ScalarExecuting(DbCommand, DbCommandInterceptionContext<Object>)i ReaderExecuting(DbCommand, DbCommandInterceptionContext<DbDataReader>) jest zatrzymywany na początku NonQueryExecuted(DbCommand, DbCommandInterceptionContext<Int32>)metod , ScalarExecuted(DbCommand, DbCommandInterceptionContext<Object>)i .ReaderExecuted(DbCommand, DbCommandInterceptionContext<DbDataReader>) Jeśli te metody są zastępowane, a stoper jest używany, przesłonięcia powinny wywoływać metodę podstawową lub uruchomić/zatrzymać sam stoper. |
GetType() |
Jest to domyślny formater dziennika używany, gdy niektóre Action<T> są ustawione na Log właściwość . Można użyć innego formatatora, tworząc klasę dziedziczą po tej klasie i zastępuje niektóre lub wszystkie metody zmiany zachowania. |
IsolationLevelGetting(DbTransaction, DbTransactionInterceptionContext<IsolationLevel>) |
Nie zapisuje w dzienniku, chyba że zostanie zastąpiony. |
IsolationLevelGot(DbTransaction, DbTransactionInterceptionContext<IsolationLevel>) |
Nie zapisuje w dzienniku, chyba że zostanie zastąpiony. |
LogCommand<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) |
Wywoływana w celu zarejestrowania polecenia, które ma zostać wykonane. Zastąpij tę metodę, aby zmienić sposób rejestrowania polecenia na System.Data.Entity.Infrastructure.Interception.DatabaseLogFormatter.WriteAction. |
LogParameter<TResult>(DbCommand, DbCommandInterceptionContext<TResult>, DbParameter) |
Wywoływane przez w LogCommand<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) celu rejestrowania każdego parametru. Tę metodę można wywołać z przesłoniętej implementacji LogCommand<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) parametrów dziennika i/lub można zastąpić, aby zmienić sposób rejestrowania parametrów na System.Data.Entity.Infrastructure.Interception.DatabaseLogFormatter.WriteAction. |
LogResult<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) |
Wywołana w celu zarejestrowania wyniku wykonania polecenia. Zastąpij tę metodę, aby zmienić sposób rejestrowania wyników na System.Data.Entity.Infrastructure.Interception.DatabaseLogFormatter.WriteAction. |
NonQueryExecuted(DbCommand, DbCommandInterceptionContext<Int32>) |
Ta metoda jest wywoływana po wywołaniu metody ExecuteNonQuery() lub jednej z jego odpowiedników asynchronicznych. Domyślna implementacja zatrzymuje stoper zwracany z GetStopwatch(DbCommandInterceptionContext) elementu i wywołuje polecenie Executed<TResult>(DbCommand, DbCommandInterceptionContext<TResult>). |
NonQueryExecuting(DbCommand, DbCommandInterceptionContext<Int32>) |
Ta metoda jest wywoływana przed wywołaniem ExecuteNonQuery() metody lub jednym z jego odpowiedników asynchronicznych. Domyślne wywołania Executing<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) implementacji i uruchamia stoper zwrócony z GetStopwatch(DbCommandInterceptionContext)elementu . |
Opened(DbConnection, DbConnectionInterceptionContext) |
Wywoływany jest Open() po wywołaniu lub jego odpowiednik asynchroniczny. Domyślna implementacja tej metody filtruje według DbContext ustawienia Context, jeśli istnieje, a następnie rejestruje zdarzenie. |
Opening(DbConnection, DbConnectionInterceptionContext) |
Nie zapisuje w dzienniku, chyba że zostanie zastąpiony. |
ReaderExecuted(DbCommand, DbCommandInterceptionContext<DbDataReader>) |
Ta metoda jest wywoływana po wywołaniu metody ExecuteReader(CommandBehavior) lub jednej z jego odpowiedników asynchronicznych. Domyślna implementacja zatrzymuje stoper zwracany z GetStopwatch(DbCommandInterceptionContext) elementu i wywołuje polecenie Executed<TResult>(DbCommand, DbCommandInterceptionContext<TResult>). |
ReaderExecuting(DbCommand, DbCommandInterceptionContext<DbDataReader>) |
Ta metoda jest wywoływana przed wywołaniem ExecuteReader(CommandBehavior) metody lub jednym z jego odpowiedników asynchronicznych. Domyślne wywołania Executing<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) implementacji i uruchamia stoper zwrócony z GetStopwatch(DbCommandInterceptionContext)elementu . |
RolledBack(DbTransaction, DbTransactionInterceptionContext) |
Ta metoda jest wywoływana po Rollback() wywołaniu. Domyślna implementacja tej metody filtruje według DbContext ustawienia Context, jeśli istnieje, a następnie rejestruje zdarzenie. |
RollingBack(DbTransaction, DbTransactionInterceptionContext) |
Nie zapisuje w dzienniku, chyba że zostanie zastąpiony. |
ScalarExecuted(DbCommand, DbCommandInterceptionContext<Object>) |
Ta metoda jest wywoływana po wywołaniu metody ExecuteScalar() lub jednej z jego odpowiedników asynchronicznych. Domyślna implementacja zatrzymuje stoper zwracany z GetStopwatch(DbCommandInterceptionContext) elementu i wywołuje polecenie Executed<TResult>(DbCommand, DbCommandInterceptionContext<TResult>). |
ScalarExecuting(DbCommand, DbCommandInterceptionContext<Object>) |
Ta metoda jest wywoływana przed wywołaniem ExecuteScalar() metody lub jednym z jego odpowiedników asynchronicznych. Domyślne wywołania Executing<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) implementacji i uruchamia stoper zwrócony z GetStopwatch(DbCommandInterceptionContext)elementu . |
ServerVersionGetting(DbConnection, DbConnectionInterceptionContext<String>) |
Nie zapisuje w dzienniku, chyba że zostanie zastąpiony. |
ServerVersionGot(DbConnection, DbConnectionInterceptionContext<String>) |
Nie zapisuje w dzienniku, chyba że zostanie zastąpiony. |
StateGetting(DbConnection, DbConnectionInterceptionContext<ConnectionState>) |
Nie zapisuje w dzienniku, chyba że zostanie zastąpiony. |
StateGot(DbConnection, DbConnectionInterceptionContext<ConnectionState>) |
Nie zapisuje w dzienniku, chyba że zostanie zastąpiony. |
ToString() |
Jest to domyślny formater dziennika używany, gdy niektóre Action<T> są ustawione na Log właściwość . Można użyć innego formatatora, tworząc klasę dziedziczą po tej klasie i zastępuje niektóre lub wszystkie metody zmiany zachowania. |
Write(String) |
Zapisuje dany ciąg do podstawowego delegata zapisu. |