亚音速语法问题(使用GroupBy)

时间:2010-08-26 19:24:20

标签: syntax subsonic group-by

有没有办法做到这一点:

SubSonic.Where filter = new SubSonic.Where();
filter.ColumnName = Region.Columns.Region;
filter.Comparison = SubSonic.Comparison.IsNot;
filter.ParameterValue = null;

SubSonic.Aggregate orderBy = new SubSonic.Aggregate(Region.Columns.RegionName, SubSonic.AggregateFunction.GroupBy);

RegionCollection regions = new RegionCollection().Where(filter).GroupBy(groupBy).Load();

最后一行中的“GroupBy”部分无法编译...(我正在使用SubSonic 2.1)

2 个答案:

答案 0 :(得分:0)

使用集合,您可以使用OrderByAscOrderByDesc,但它们都只允许传递字符串作为参数。 SubSonic.AggregateFunction.GroupBy可能不是你想要的。

请改为尝试:

var result = new RegionCollection().OrderByAsc(Region.Columns.RegionName).Load();

答案 1 :(得分:0)

万一你没有理由需要旧的Where结构:

SubSonic.Aggregate groupBy = new SubSonic.Aggregate(Region.Columns.RegionName, SubSonic.AggregateFunction.GroupBy);

RegionCollection regions = new SubSonic.Select(groupBy).From(Region.Schema).Where(Region.RegionColumn).IsNotNull().ExecuteAsCollection<RegionCollection>();