Here's a quick way to do this using a dynamic list.
ResultsetFields fields = new ResultsetFields(2);
fields.DefineField(ArticleWordFieldIndex.ArticleId, 0, "ArticleId", "");
fields.DefineField(ArticleWordFieldIndex.WordId, 1, "WordCount", "", AggregateFunction.Count);
IRelationPredicateBucket bucket = new RelationPredicateBucket();
IGroupByCollection group = new GroupByCollection();
group.Add(ArticleWordFields.NewsId);
bucket.Relations.Add(ArticleWordEntity.Relations.WordEntityUsingWordId);
DataTable dynamicList = new DataTable();
using(DataAccessAdapter adapter = new DataAccessAdapter())
{
adapter.FetchTypedList(fields, dynamicList, bucket, 0, null, true, group);
}
You can set this same query up in the designer as a typedlist that may also meet your requirements.