2012-04-13 8 views
-1

Ich habe versucht, eine gesunde Methode für die Durchführung von Joins in Subsonic für eine Website zu finden, die ich mit ändern beauftragt wurde, aber die Suche im Web hilft nicht wirklich und es scheint, dass SubSonic's Website offline für eine während.Joins in Subsonic-Abfragen

Hier ist, was ich arbeite - das ist die bestehende Abfrage.

IDataReader rdr = FOO.Account.FetchByQuery(
new SubSonic.Query(FOO.Tables.Account).AddWhere(FOO.Account.Columns.MemberNumber, MemberNumber).AND(FOO.Account.Columns.Active, true)); 

Was ich brauche, ist zu tun, so etwas, aber dies nicht gelingt:

IDataReader rdr = FOO.Account.FetchByQuery(
new SubSonic.Query(FOO.Tables.Account, FOO.Tables.Managers).AddWhere(FOO.Account.Columns.MemberNumber, MemberNumber).AND(FOO.Account.Columns.ManagerID, FOO.Managers.Columns.ManagerID).AND(FOO.Account.Columns.Active, true)); 

Kann mir jemand in die richtige Richtung zeigen und mir sagen, wie Tabelle zu tun Joins SubSonic verwenden? Danke im Voraus!

Antwort

1

Ich benutze eine andere Syntax für meine Fragen, aber ...

var qry = new Select().From(FOO.Tables.Account) 
    .InnerJoin(FOO.Tables.Managers) // If the DB has no relation specify columns. 
    .And(FOO.Account.Columns.MemberNumber).IsEqualTo(MemberNumber) 
    .And(FOO.Account.Columns.ManagerID).IsEqualTo(FOO.Managers.Columns.ManagerID); 
    .And(FOO.Account.Columns.Active).IsEqualTo(true) 
; 
var rdr = qry.ExecuteReader(); 
+0

Thank you! Klappt wunderbar. –