Da ich in einem aktuellen Projekt LINQ to SQL einsetze, kam irgendwann der Punkt: Wie debuggt man das ordentlich? Wie sieht das SQL aus, was der zum Server schickt?
1. Variante: Visual Studio
Die einfachste (und nahliegendste) Variante: Das debuggen mit Visual Studio
Einfach schauen, wie die Objekte gefüllt werden und schauen ob das überhaupt logisch passt.
Für ein Großteil der Fehler reicht dies erstmal, allerdings fragt man sich doch machmal, was LINQ to SQL eigentlich für einen SQL Statement produziert.
2. Variante: LINQ to SQL Debug Visualizer
Dafür gibts den LINQ to SQL Debug Visualizer. Es ist mir unbegreiflich, warum Microsoft so ein geniales Tool so versteckt.
3. Variante: DataContext.Log
Wer nicht immer den Debug Visualizer nutzen kann oder mag, hat Microsoft etwas in LINQ to SQL eingebaut: DataContext.Log
In Konsolenanwendungen ist dies auch praktisch - allerdings ist dies in Klassenbibliotheken ist dies nicht so einfach möglich. Allerdings gibts hier eine kleine Klasse, welche ermöglicht, dass das generierte SQL in dem Debug Output Fenster sichtbar ist: Sending the LINQ To SQL log to the debugger output window
Ich werde sicherlich noch den einen oder anderen Post zum Thema LINQ to SQL schreiben - allerdings sind manche Probleme auch zum Teil vom Konzept so oder leicht "trickreich" ;)
Diese 3. Varianten machen aber das Leben schon etwas leichter.