Ich arbeite mich gerade etwas in LinQ ein und bin auf folgendes Tutorial gestoßen, da ich auch aus einer im SQL Server 2008 gespeicherten Prozedur Werte auslesen möchte.
ich habe Dein Beispiel mal ausprobiert und muss sagen, dass es bei mir problemlos funktioniert. Daher kann ich Dir eigentlich keine Hilfestellung geben.
Weshalb ich aber eine Antwort schreibe, ist der Vergleich des Linq-Quelltexts mit dem Quelltext, der die DataSet-Klassen verwendet. Bist Du sicher, dass Du in beiden Beispielen dieselbe Datenbank und dieselbe Stored Procedure verwendest? Im Link-Beispiel heißen die Spalten nämlich anders, als im DataSet-Beispiel (Column1 statt Eins usw.).
Und noch eine Bemerkung am Rande: Was soll die Zeile
var r = myDb.prozedur01();
bewirken? r wird gar nicht verwendet. (Bei mir funktioniert es mit oder ohne diese Zeile, weshalb es für dieses Problem sicher irrelevant ist. Aber vielleicht hast Du noch andere Teile in Deinem hier nicht veröffentlichten Quelltext, die eine korrekte Funktion verhindern?)
Und noch ein Gedanke: Wo kommt der Connectionstring her? Ist der aus der Konfiguration gelesen oder manuell im Quelltext gesetzt?