2009-05-11 12 views
0

Ich habe einige Suche und sehen, dass ExecuteJoinedDataSet wird nicht mit der Where-Klausel in 2.1 arbeiten. Wenn ich eine Tabelle mit WHERE abfragen möchte, die Werte der FK-Objekte jedoch bindbar sein sollen, ist der einfachste Weg, einfach eine benutzerdefinierte Klasse zu erstellen (meine Tabelle hat Tonnen von FK-Referenzen).ExecuteJoinedDataSet aber mit Where()

Antwort

0

Können Sie uns ein Beispiel geben, welche Art von Abfrage Sie schreiben möchten? Wenn Sie nur versuchen, eine DataTable zurückzugeben, ohne eine benutzerdefinierte Klasse zu erstellen, schreiben Sie einfach Ihre Abfrage und verwenden Sie den ExecuteReader, der einen IDataReader zurückgibt. Der IDataReader ist bindbar und wenn Sie mehr benötigen, können Sie ihn einfach in eine DataTable laden.

+0

Ich bin in der Lage zu tun, was ich mit SubSonic.SqlQuery, Select() und Joins wollte. Mir gefiel einfach, wie einfach es war, ExecuteJoinedDataSet zu verwenden, um meine FK-Werte in viel weniger Code anzuzeigen, was die Where-Klausel leider nicht erkennt. Ich hatte gehofft, dass etwas ähnliches eingebaut ist. – Scott

+2

Dies war ein Bug in 2.1 (siehe http://code.google.com/p/subsonicproject/issues/detail?id=28). Es wurde um 2.2 korrigiert. –