Archiv

Archive for Februar 2011

LINQPad – ein praktischer Helfer

28. Februar 2011 2 Kommentare

Wenn man sich mit LINQ beschäftigt steht man schnell vor dem Problem, das man irgendwie nicht ganz das gewünschte Resultat erhält. Immer wieder für jede kleine Änderung den Zyklus „anpassen, kompilieren und debuggen“ zu durchlaufen wird sehr schnell zur mühsamen Fleissarbeit. Das muss aber nicht sein. Mit LINQPad gibt es einen kleinen Helfer, der einem auf eine sehr einfach Art bei der Überprüfung seiner LINQ-Abfragen unterstützt.

 
Download und Installation
Die rund 2.5 MB grosse Zip-Datei kann von http://www.linqpad.net heruntergeladen werden. Die Installation beschränkt sich auf das entpacken der Zip-Datei und benötigt keine weiteren manuellen Eingriffe.

 
Die Beispiele zur Einführung
Bevor man mit der Arbeit beginnt sollte man einen Blick auf die mitgelieferten Beispiele werfen. Der entsprechende Tab findet sich links unten neben den eigenen Abfragen. Neben einer kurzen Einführung in LINQPad gibt es zahlreiche Beispiele aus den Buch C# 4.0 in a Nutshell. Wem dies nicht genügt kann weitere Beispiele über den entsprechenden Link herunter laden.

 
Abfragen auf Listen
Die in meinem Blog Post zu „Mengenoperationen mit LINQ“ genutzten Beispiele lassen sich auch mit LINQPad ausführen:

Da alle nötigen Objekte vor der Abfrage deklariert werden, braucht man für diese Beispiele keine zusätzlichen *.dll oder eine DB-Verbindung – genauso wie man es im Visual Studio auch nicht benötigt. Einzig ein resultExcept.Dump(); sollte man einfügen damit man das Resultat zu sehen bekommt.

 
Abfragen einer DB
Zum Anhängen einer Datenbank genügt ein Klick auf „Add Connection“. Mit einem einfachen Dialog kann man den gewünschten Server sowie eine oder mehrere Datenbanken auswählen und als Datenquelle hinzufügen:

Um die Datenbank zu nutzen genügt es den entsprechenden Eintrag in der Auswahlliste zu wählen. Man kann nun seine Abfragen in LINQ formulieren und auf die DB abfeuern. Mir gefiel besonders die Möglichkeit gleich das erzeugte SQL anschauen zu können. Mit 2 Klicks kann man dies für weitere Analysen ins SQL Management Studio übernehmen.

 
Eigener ObjectContext nutzen
Für mich war die Möglichkeit den ObjectContext aus einem bestehenden Projekt zu nutzen sehr hilfreich. Beim Assistenten für eine neue Verbindung muss unter „typed data context“ Entity Framework gewählt werden. Was es nun noch braucht ist die Auswahl der richtigen *.dll die das ADO.Net Entity Data Model (*.edmx) enthält:

Die Abfrage läuft dann genau gleich wie wenn eine Datenbank das Ziel ist. Allerdings sind all die manuell vorgenommenen Änderungen (wie in meinem Beispiel das Umbenennen von Products in EFProducts) auch verfügbar:

 
OData Services abfragen
Wer gerne einmal mit OData (Open Data Protocol) und LINQ arbeiten möchte, sollte sich den „WCF DataService (OData)“ anschauen. Auf der Webseite von LINQPad gibt es einige Beispiele wie man auf den OData-Service von Stackoverflow zugreifen kann. Da OData die Aufrufe in eine URL umwandelt, liefert der SQL-Reiter im Resultate Bereich ein ungewohntes Bild:

 
Upgrade?
Nutzt man die Gratisversion wird man beim Tippen der Befehle sehr schnell die Autocompletition-Funktionalität vermissen – jedenfalls ging es mir so. Für 39$ kann man diese und weitere Optionen allerdings nachrüsten. Für mich ist dieses Plus an Funktionalität den Aufpreis wert. Wer darauf verzichten kann bleibt am besten bei der Gratisversion.

 
Fazit
LINQPad ist ein erstaunlich hilfreiches Tool. Die vielfältigen Einsatzmöglichkeiten und auch die mitgelieferten Beispiele machen LINQPad für mich zu einem Werkzeug, das jedem der mit LINQ arbeitet bekannt sein sollte.

Schlagworte:

MEAP: Was wenn ein Buch nicht erscheint?

27. Februar 2011 Kommentare aus

MEAP - Manning Early Access Program

MEAP - Manning Early Access Program

Seit gut 2 Jahren kaufe ich bei Manning Bücher zu verschiedenen Programmiersprachen und IT-Themen ein. Und von Anfang an nutzte ich die Möglichkeiten von MEAP – Manning’s Early Access Program. Bisher kam mir nie in den Sinn, das eines der von mir gekauften Bücher gar nie erscheinen könnte. Im Grossen und Ganzen wurden die geplanten Erscheinungstermine immer eingehalten. Bisher.

 

Heute erhielt ich von Manning eine E-Mail mit der Information das „IronRuby in Action“ nicht erscheinen wird. Neben einer Entschuldigung wurden mir 2 Optionen angeboten:

  • Auswahl eines alternativen Titels sowie eines zusätzlichen E-Books
  • Rückerstattung des Kaufpreises

Nach einem kurzen Blick auf die neusten Titel in MEAP entschied ich mich für den „Umtausch“. Dazu genügte es auf der angegebenen Webseite die beiden Titel auszuwählen und das Formular abzuschicken. Nur 5 Minuten später hatte ich die Downloads der beiden neuen Bücher abgeschlossen. So ein Ablauf gefällt mir.

Mir hätte der einfache Austausch auf einen anderen Titel im MEAP gereicht. Das zusätzliche E-Book freut mich sehr und bestärkt mich darin, auch weiterhin auf Manning zu setzen.

 
Fazit
Manning bemüht sich sehr um die Zufriedenheit der Kunden. Ich werde auch weiterhin gerne bei Manning Bücher via MEAP einkaufen. Ich habe nun die Gewissheit dass Manning schnell und kundenfreundlich reagiert wenn ein Buch gestoppt wird.

Schlagworte:
Folgen

Erhalte jeden neuen Beitrag in deinen Posteingang.

Schließe dich 296 Followern an