Question

I have been trying to find a sane method for performing joins in Subsonic for a website that I have been tasked with changing but searching the web doesn't really help and it seems that SubSonic's website it offline for a while.

Here is what I am working with - this is the existing query.

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

What I need to do is something like this, but this fails:

    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));

Can someone point me in the right direction and tell me how to do table joins using SubSonic? Thanks in advance!

Was it helpful?

Solution

I use a different syntax for my queries but...

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();
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top