c# - 如何在 Razor View 中获取统计信息
问题描述
我想在 Razor 中显示每个国家的学生人数和每个班级的学生人数,我为(学生、班级、国家)创建了 3 个不同的班级,如下所示:-
Student.cs
public class Students
{
[Key]
public int StudentID { get; set; }
public string StudentName { get; set; }
public DateTime StudentDob { get; set; }
[ForeignKey("ClassID")]
public Classes classes { get; set; }
[ForeignKey("CountryID")]
public Countries countries { get; set; }
}
Countries.cs
public class Countries
{
[Key]
public int CountryID { get; set; }
public string CountryName { get; set; }
public List<Students> Students { get; set; }
}
Classes.cs
public class Classes
{
[Key]
public int ClassID { get; set; }
public string ClassName { get; set; }
public List<Students> Students { get; set; }
}
我还创建了另外 2 个模型来存储计数。
public class CountryViewModel
{
public string Countries { get; set; }
public int count { get; set; }
}
public class ClassViewModel
{
public string Classes { get; set; }
public int count { get; set; }
}
之后我创建了服务
public List<CountryViewModel> ShowCountryStats()
{
return _appDbContext.Students.Include("countries")
.GroupBy(e => e.countries.CountryName)
.Select(y => new CountryViewModel
{
Countries = y.Key,
count = y.Count()
}).ToList();
}
public List<ClassViewModel> ShowClassStats()
{
return _appDbContext.Students.Include("classes")
.GroupBy(e => e.classes.ClassName)
.Select(y => new ClassViewModel
{
Classes = y.Key,
count = y.Count()
}).ToList();
}
我在 studentinfo.razor 中调用它们
private CountryViewModel countryviewModel = new();
private List<CountryViewModel> CountryViewModel = new();
private ClassViewModel myClassmodel = new();
private List<ClassViewModel> myClassModel = new();
private Classes classe = new();
private List<Classes> classes = new();
private Countries country = new();
private List<Countries> countries = new();
private List<CountryViewModel> GetCountriess()
{
CountryViewModel = _studentService.ShowCountryStats();
return CountryViewModel;
}
private List<ClassClassModel> ShowCountryStat()
{
myClassModel = _studentService.ShowClassStats();
return myClassModel;
}
现在我想显示结果如下,但我不知道如何在 .razor
Country count
US 6
UK 8
Class count
A 5
B 15
解决方案
推荐阅读
- java - 使用 java 代码录制时视频/音频不同步
- logging - 在 logback 中将 DuplicateMessageFilter 应用于 slack appender
- terraform - terraform 循环创建多个资源并链接到另一个资源
- jquery - jquery slick.js 滑块和基于数据属性的过滤
- java - MPandroidchart 只为负值和正值设置曲线边缘
- java - 如何为接口中的不同类抛出异常?
- sql - 按小时查询条码数
- time - ChartJS:如何将刻度线上的月线图左对齐以与日线图保持一致?
- rust - 如何在同一循环中轮询从流项目生成的异步流和期货?
- postgresql - 我们如何在 sqlx 中为 postgres 实现批量 upsert?