繁体   English   中英

如何从“包含”表中过滤?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM