如何在asp.net的新闻中获取类别计数使用
Posted
技术标签:
【中文标题】如何在asp.net的新闻中获取类别计数使用【英文标题】:How to get Category Count Use at News in asp.net 【发布时间】:2021-10-03 21:35:43 【问题描述】:大家好,我在获取新闻中使用的类别计数时遇到问题
例如我想知道“国际”类别在新闻中有多少使用
这是我的新闻实体:
public class News
public int NewsId get; set;
public int? SubGroup get; set;
public string NewsTitle get; set;
public string NewsBody get; set;
public DateTime CreatedDate get; set;
public string Poster get; set;
public DateTime? UpdateTime get; set;
public bool isChoseClerck get; set;
public News()
this.CreatedDate = DateTime.Now;
//RelationShip
public List<Category> Category get; set;
public User User get; set;
public List<Tag> Tags get; set;
public string Source get; set;
这是我想向用户展示的 Dto:
public class SubCategoryWithCountDTO
public int CategoryId get; set;
public string CateGoryName get; set;
public int UseCount get; set;
我在下面写了服务但我不知道我不能在“包含”中使用 lambda
public async Task<List<SubCategoryWithCountDTO>> SubCategoryWithCount(int skip, int take)
var subCategoryList = await _context.Categories
.Where(x => x.ParentId != null).OrderBy(x => x.CategoryId)
.Skip(skip).Take(take).ToListAsync();
var SubCategoryWithCount = new List<SubCategoryWithCountDTO>();
foreach (var item in subCategoryList)
var categoryUse = _context.News.Include(x => x.Category
.Select(x => x.CategoryId == item.CategoryId)).Count();
var preSubCategory = new SubCategoryWithCountDTO
CategoryId = item.CategoryId,
CateGoryName = item.CateGoryName,
UseCount = categoryUse
;
SubCategoryWithCount.Add(preSubCategory);
return SubCategoryWithCount;
谁能告诉我正确的方法?,谢谢
【问题讨论】:
你能分享一个示例结果和你的对象列表吗? 【参考方案1】:您可以通过这种方式实现您的目标:
public List<TagWithUseCountViewModel> GetTagWithCount()
var list = new List<TagWithUseCountViewModel>();
var query = from item in _context.News.SelectMany(x => x.Tags)
select item;
foreach (var item in query)
list.Add(new TagWithUseCountViewModel
Id = item.Id,
TagName = item.TagName,
UseCount =
query.Where(x => x.Id == item.Id).GroupBy(x => x.NewsList).Count()
);
【讨论】:
以上是关于如何在asp.net的新闻中获取类别计数使用的主要内容,如果未能解决你的问题,请参考以下文章
从 IIS 获取我托管的 Asp.Net 网站的运行会话计数
如何在 Asp.net MVC C# 中使用 Linq 从多个表中选择具有最大计数值的记录
如何在 asp.net 核心中从返回零计数的主体正确映射数组