Tags类是
public class Tags
{
public int TagId;
public string Tag;
public string TagLink;
public int TagCount;
}
我的查询是
var v = db.QuestionTags
.GroupBy(n => n.Tag.Tag1)
.Select(n => new Tags
{
Tag = n.Key,
TagCount = n.Count()
}
)
.OrderByDescending(n => n.TagCount);
上述方法的问题在于我无法映射TagId
和TagLink
。我该如何解决这个问题?
答案 0 :(得分:5)
假设每个Tag
获得一个唯一的TagId
和TagLink
,您可以使用First()
进行设置:
var v = db.QuestionTags
.GroupBy(n => n.Tag.Tag1)
.Select(n => new Tags {
Tag = n.Key,
TagCount = n.Count(),
TagId = n.First().TagId,
TagLink = n.First().TagLink
})
.OrderByDescending(n => n.TagCount);
如果同一Tag
的这些属性可能不同,则按其组合进行分组:
var v = db.QuestionTags
.GroupBy(n => new {n.Tag.Tag1, n.TagId, n.TagLink})
.Select(n => new Tags {
Tag = n.Key.Tag1,
TagCount = n.Count(),
TagId = n.Key.TagId,
TagLink = n.Key.TagLink
})
.OrderByDescending(n => n.TagCount);