2011-01-25 7 views
10

Niedawno szukałem LINQ i chciałem dowiedzieć się więcej o tym i szukałem prostej metody wizualizacji moich zapytań, aby uzyskać nieco więcej szczegółów na temat tego, co dzieje się podczas zapytania.Czy istnieje sposób na obejrzenie zapytań LINQ w ich trakcie?

Czy ktoś wie o jakichkolwiek narzędziach, które są dostępne dla osiągnięcia czegoś takiego?

Dzięki,

Josh

Odpowiedz

10

może chcesz wziąć w tym artykule na Visual LINQ na blogu Jon Skeet jest. Visual LINQ to narzędzie, które pozwala na wizualne oglądanie zapytania LINQ w akcji.

Możesz bezpośrednio pobrać pliki dla niego here.

Mam nadzieję, że to pomoże.

Edytuj: Blog Scotta Gu zawiera także artykuł na temat LINQ to SQL Debug Visualizer, który może ci pomóc.

+0

+1 bardzo pouczający – naveen

+0

Wow - Nie wiedziałem, że coś takiego istnieje! Dzięki Rionmonster, to powinno być to, czego potrzebuję! –

+0

A jeśli chcesz zrobić tylko trochę wyników debugowania, możesz użyć DataContext.Log lub DataContext.GetCommand (zapytanie) .CommandText – rossisdead

1

To zależy od rodzaju LINQ, o którym mówisz. Jeśli odnosisz się do LINQ-to-Objects, to WYSIWYG; z wyjątkiem niektórych metod, które są zoptymalizowane dla pewnych standardowych bibliotek szkieletowych (np. metoda IEnumerable jest wystarczająco inteligentna, aby wywoływać właściwość Count, jeśli docelowy obiekt przeliczalny implementuje ICollection), nie ma żadnej rzeczywistej optymalizacji, która jest wykonywana dla każdego przypadku. na podstawie przypadku.

Dla czegoś takiego jak LINQ-SQL, będziesz musiał użyć narzędzia do monitorowania specyficznego dla bazy danych, takiego jak SQL Server Profiler dla MS SQL Server.

1

Możesz także użyć programu SQL Profiler w SQL Management Studio (niedostępne w edycji ekspresowej). Możesz zobaczyć, jak serwer SQL obsługuje zapytania Linq.

+2

Podczas gdy profiler nie jest dołączony do edycji Express, * możesz * uruchamiać ślady na zasilaniu Express Baza danych. Oznacza to, że istniejąca instalacja Profiler może działać na bazie danych Express, a standardowe polecenia T-SQL również będą działać. –

+0

@Adam: Dzięki za informację. Będę musiał pamiętać o tym w moim przyszłym projekcie. Czy zdarzają się jakieś dobre linki do mnie? Czy to profiler MS SQL lub inne oprogramowanie do comps? – jonnyb

+0

Oto dobre miejsce do rozpoczęcia wyszukiwania: http://msdn.microsoft.com/en-us/library/ms188662.aspx Nie użyłem żadnych narzędzi GUI innych niż program SQL Server Profiler, ale byłbym bardzo zaskoczony, gdyby oni nie istnieli. –

0

Program SQL Server Profiler jest prawdopodobnie najlepszym rozwiązaniem. Możesz oglądać, jak zapytania są wykonywane i mieć bieżący dziennik wszystkiego, co się stało. Jest to dość konfigurowalny, można ustawić go uchwycić tylko zdarzenia, które Cię interesują

Spróbuj film instruktażowy. http://sqlserverpedia.com/wiki/Using_SQL_Server_Profiler

0

doskonałym narzędziem do Linq do kwerend SQL Używałem wiele razy jest Linq to SQL Profiler. Pokazuje nie tylko twoje zapytania, ale pomaga także zrozumieć, w jaki sposób można je zoptymalizować, aby uniknąć pułapek, takich jak N + 1.

Powiązane problemy