【发布时间】:2011-06-04 11:45:03
【问题描述】:
我正在学习 LINQ,它让我了解了如何弄清楚如何从 mongoDB 以我想要的方式获取数据。似乎应该有比这更好的方法。
基本前提是在UserMessage 集合中存在一个我正在尝试分组的ID。我想通过UserMessage 中的DateCreated 订购。
也可以为组返回一个 COUNT,但我想我已经准备好寻求帮助了。 :)
//get from the db all the mssages to this user and from
var result = (from messages in session.All<UserMessage>()
where messages.To == User.Identity.Name ||
messages.From == User.Identity.Name
orderby messages.DateCreated descending
select messages).ToList().GroupBy(t => t.AssociatedMessageID);
//.Select(g => new { AssociatedMessageID = g.Key });
var result2 = from m in result.ToList()
orderby m.First().DateCreated descending
select m;
List<IGrouping<string,UserMessage>> aryMsg = result2.ToList();
foreach (IGrouping<string,UserMessage> um in aryMsg)
{
//in this loop assign various members of each UserMessage to a view model
}
【问题讨论】:
标签: linq count group-by sql-order-by