【发布时间】:2019-11-14 03:26:30
【问题描述】:
当我使用 where 条件数据未显示在表格或页面中时,我遇到了过滤数据问题。
我有三个表 Groups 、 Subgroups 、 Students
首先我选择组然后我选择子组并从子组学生表中显示
这是我的控制器:
public ActionResult Index(int? id)
{
var students = db.Students.AsQueryable()
.Include(s => s.Groups)
.Include(s => s.Subgroups)
.Include(s => s.Schedules)
.Include(s => s.Teachers);
if (id != null)
{
students = students
.Where(s => s.SubgroupId == id).Where(s => s.GroupId == id);
}
ViewBag.result = students;
return View(students.ToList());
}
组类:
public class Group
{
public int Id { get; set; }
public string Name { get; set; }
}
子组类:
public class Subgroup
{
public int Id { get; set; }
public string Name { get; set; }
[ForeignKey("GroupId")]
public virtual Group Group { get; set; }
public int? GroupId { get; set; }
}
学生班:
public class Student
{
public int Id { get; set; }
public string Name { get; set; }
[ForeignKey("GroupId")]
public virtual Group Groups { get; set; }
public int? GroupId { get; set; }
[ForeignKey("SubgroupId")]
public virtual Subgroup Subgroups { get; set; }
public int? SubgroupId { get; set; }
}
当我删除 groupId 数据显示但组数据没有过滤所以所有组显示。
我不知道是什么错误
谢谢
【问题讨论】:
-
id参数,是组id还是子组id? -
两者都错了?
-
你会包含你的模型类吗?
-
我现在可以查看
标签: asp.net-mvc filter