Aby logować zapytania wysyłane przez LINQ2SQL należy na obiekcie DataContext ustawić właściwość Log. Przypisać do niej możemy dowolny obiekt klasy dziedziczącej po TextWriter.
W książce do egzaminu podano bardzo dobry przykład stworzenia klasy dziedziczącej po TextWriter która wypisuje zapytania LINQ do okienka Output. Zaletą klasy jest możliwość włączania logowania za pomocą konfiguracji w App/Web .config Zrealizowane jest to za pomocą klasy BooleanSwitch
Przykład który znajduje się w książce:
Code:
Przełącznik konfigurujemy w app/web configu:
Code:
Aby włączyć logowanie należy obiektowi DataContext.Log przypisać obiekt klasy LingToSqlTextWriter.
W przypadku Entity Framework treść zapytania wysyłanego do bazy danych otrzymujemy wywołując na obiekcie klasy ObjectQuery<T> metodę ToTraceString. Sposób w jaki to zrobić znaleźć można w innym moim wpisie: http://patryknet.blogspot.com/search?q=ToTraceString
Innym sposobem śledzenia wydajności jest zaimplementowanie Monitora wydajności:
Code:
Brak komentarzy:
Prześlij komentarz