[英]How to filter from an “Include” table?
当前代码列出了每个部门的名称,我可以浏览该部门工作的每个员工。 如何按班次过滤? 我使用任何类型的where语句都没有成功。
我有两个模型:
部
public class Department
{
public int DepartmentID { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public List<Employee> Employee { get; set; }
}
和员工
public class Employee
{
public int EmployeeID { get; set; }
public string LastName { get; set; }
[Display(Name = "First Name Middle Initial")]
public string FirstMidName { get; set; }
public DateTime HireDate { get; set; }
public string Shift { get; set; }
public int DepartmentID { get; set; }
public string FullName
{
get
{
return LastName + ", " + FirstMidName;
}
}
public virtual Department Department { get; set; }
}
调节器
public ActionResult Index()
{
var department = db.Department.OrderBy(d => d.Name).ToList();
return View(department);
}
public ActionResult Browse(string department)
{
// Retrieve Department and its Associated Employees from database
var deptModel = db.Department.Include("Employee")
.Single(g => g.Name == department);
return View(deptModel);
}
您可以在lambda中添加位置
var department = db.Department.Where(d => d.Name == "Filter Item Here").OrderBy(d => d.Name).ToList();
最初的意图是在控制器中对此进行过滤,最后我从View中进行过滤。 @foreach (var employee in Model.Employee.Where(s => s.Shift == "1st")) { <li> </li> }
我将继续进行此工作,并在完成任务后进行更新。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.