subsonic的group by的使用

表ChooseAuthorize和membership的User表,联合查询

1
2
3
4
5
6
7
8
9
10
11
12
/// <summary> 
/// 取得当前登陆用户收藏授权记录的用户集合
/// </summary>
/// <returns></returns>
public static DataTable GetAuthorizeUserList() {
string uid = new ChooseAuthorizeInfo().GetCurrentUserId();
Aggregate AuthorizerId = new Aggregate(ChooseAuthorize.AuthorizerIdColumn, "AuthorizerId", AggregateFunction.GroupBy);
Aggregate RealName = new Aggregate(UserInfo.RealNameColumn, "RealName", AggregateFunction.GroupBy);
Aggregate ReceiverId = new Aggregate(ChooseAuthorize.ReceiverIdColumn, "ReceiverId", AggregateFunction.GroupBy);
DataTable dt = new Select(ChooseAuthorize.Columns.ReceiverId, UserInfo.Columns.RealName).From<ChooseAuthorize>().InnerJoin(UserInfo.UserIdColumn, ChooseAuthorize.ReceiverIdColumn).Where(ChooseAuthorize.Columns.AuthorizerId).IsEqualTo(uid).ExecuteDataSet().Tables[0];
return dt;
}