加入Subsonic查询

时间:2012-04-13 17:19:00

标签: c# subsonic

我一直在努力寻找一种理性的方法,用于在一个我负责改变的网站上为A2执行联接,但搜索网络并没有真正帮助,而且看起来SubSonic的网站已经离线了一段时间。

以下是我正在使用的内容 - 这是现有的查询。

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

我需要做的是这样的事情,但这失败了:

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

有人能指出我正确的方向并告诉我如何使用SubSonic进行表连接吗?提前谢谢!

1 个答案:

答案 0 :(得分:1)

我为查询使用了不同的语法,但是......

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