标签类是

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);


上面方法的问题是我无法同时映射TagIdTagLink。我该如何解决?

最佳答案

假设对于每个Tag您都有唯一的TagIdTagLink,则可以使用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);

10-04 21:06