我如何获取 feetype 的 ID 列表,后跟学生 ID
How do i get the list of ids of feetype followed by student id
我需要根据 class 和部分显示学生的数据,所有事情都已完成,但我仍然坚持根据 [=22] 根据他们的费用类型 ID 显示列表费用,然后是学生 ID =] 和我控制器中的部分。
Class:VIII Section:Blue
|StudentName|Class|Section|GrandTotal|Admission Fee|TutionFee|TransportFee|
|Ali |VIII |Blue | 20$ | 5$ | 11$ | 4$ |
|Jastin |VIII |Blue | 20$ | 5$ | 11$ | 4$ |
|Kim |VIII |Blue | 20$ | 5$ | 11$ | 4$ |
`public JsonResult StudentSearch(int? classId,int?sectionId)
{
var listOfIds = _dbContext.STUDENT_FEE_DETAIL
.Where(n=>n.STUDENT_FEE_ID ==n.StudentFee.STUDENT_FEE_ID)
.Select(n=>n.AMOUNT);
var fee = _dbContext.STUDENT_FEE.ToList().Where(c=>c.IsActive);
var sec = _dbContext.SECTION.ToList();
List<StudentInfoViewModel> SiVM =new List<StudentInfoViewModel>();
if (classId >0 && sectionId>0)
{
var students = _dbContext.STUDENTINFO.Include(i =>i.Class).
ThenInclude(c => c.Section).Where(c=>c.ClassId== classId
&& c.SectionId == sectionId);
foreach (var item in students)
{
SiVM.Add(new StudentInfoViewModel
{ Id = item.Id,
AdmissionNumber = item.AdmissionNumber,
FullName = item.FullName,
ClassName = item.Class.ClassName,
SectionName = sec.Where(c => c.Id == sectionId)
.Select(c => c.SectionName).FirstOrDefault(),
AmountDue = fee.Where(c => c.STUDENT_INFO_ID ==
item.Id && c.STUDENT_INFO.IsActive)
.Select(e =>e.GRAND_TOTAL).FirstOrDefault(),
StdFeeTypeDetail =listOfIds.ToString().FirstOrDefault(),
});
}
}
else
{
return Json(false);
}
return Json(SiVM);
}`
StdFeeTypeDetail
是 float
在 StudentInfoViewModel
..
请帮助我我是 Asp.net 核心
的新手
在这里,我根据 listOfIds
中的学生 ID 获取费用列表
var listOfIds = _dbContext.STUDENT_FEE_DETAIL
.Where(n=>n.STUDENT_FEE_ID==n.StudentFee.STUDENT_FEE_ID)
.Select(n=> new {
feeid = n.FEE_TYPE_ID,
feetypeName= n.FEE_TYPE.Name,
amount= n.AMOUNT,
studentid= n.StudentFee.STUDENT_INFO_ID,
studentName=n.StudentFee.STUDENT_INFO.FullName
}).GroupBy(x => x.studentid).ToList();
但是我在 foreach 循环中遇到了问题
无法将类型 System.Linq.IGrouping(int,float?) 隐式转换为 'float'
我需要根据 class 和部分显示学生的数据,所有事情都已完成,但我仍然坚持根据 [=22] 根据他们的费用类型 ID 显示列表费用,然后是学生 ID =] 和我控制器中的部分。
Class:VIII Section:Blue
|StudentName|Class|Section|GrandTotal|Admission Fee|TutionFee|TransportFee|
|Ali |VIII |Blue | 20$ | 5$ | 11$ | 4$ |
|Jastin |VIII |Blue | 20$ | 5$ | 11$ | 4$ |
|Kim |VIII |Blue | 20$ | 5$ | 11$ | 4$ |
`public JsonResult StudentSearch(int? classId,int?sectionId)
{
var listOfIds = _dbContext.STUDENT_FEE_DETAIL
.Where(n=>n.STUDENT_FEE_ID ==n.StudentFee.STUDENT_FEE_ID)
.Select(n=>n.AMOUNT);
var fee = _dbContext.STUDENT_FEE.ToList().Where(c=>c.IsActive);
var sec = _dbContext.SECTION.ToList();
List<StudentInfoViewModel> SiVM =new List<StudentInfoViewModel>();
if (classId >0 && sectionId>0)
{
var students = _dbContext.STUDENTINFO.Include(i =>i.Class).
ThenInclude(c => c.Section).Where(c=>c.ClassId== classId
&& c.SectionId == sectionId);
foreach (var item in students)
{
SiVM.Add(new StudentInfoViewModel
{ Id = item.Id,
AdmissionNumber = item.AdmissionNumber,
FullName = item.FullName,
ClassName = item.Class.ClassName,
SectionName = sec.Where(c => c.Id == sectionId)
.Select(c => c.SectionName).FirstOrDefault(),
AmountDue = fee.Where(c => c.STUDENT_INFO_ID ==
item.Id && c.STUDENT_INFO.IsActive)
.Select(e =>e.GRAND_TOTAL).FirstOrDefault(),
StdFeeTypeDetail =listOfIds.ToString().FirstOrDefault(),
});
}
}
else
{
return Json(false);
}
return Json(SiVM);
}`
StdFeeTypeDetail
是 float
在 StudentInfoViewModel
..
请帮助我我是 Asp.net 核心
在这里,我根据 listOfIds
var listOfIds = _dbContext.STUDENT_FEE_DETAIL
.Where(n=>n.STUDENT_FEE_ID==n.StudentFee.STUDENT_FEE_ID)
.Select(n=> new {
feeid = n.FEE_TYPE_ID,
feetypeName= n.FEE_TYPE.Name,
amount= n.AMOUNT,
studentid= n.StudentFee.STUDENT_INFO_ID,
studentName=n.StudentFee.STUDENT_INFO.FullName
}).GroupBy(x => x.studentid).ToList();
但是我在 foreach 循环中遇到了问题
无法将类型 System.Linq.IGrouping(int,float?) 隐式转换为 'float'