2012-04-13 106 views
-1

我一直在试图找到一个理想的方法来执行加入亚音速为一个网站,我一直负责改变,但搜索网络并没有真正的帮助,它似乎是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)); 

有人能指出我在正确的方向,告诉我该怎么做表使用亚音速联接?提前致谢!

回答

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

谢谢!奇迹般有效。 – 2012-04-16 16:12:32