如何获取仅与工作人员StaffID会话相关的数据

时间:2018-03-24 01:27:53

标签: c# sql asp.net asp.net-mvc

我已经想到要从公司找到工作人员,我会使用以下内容:

public ActionResult Index()
{
    int staffID = (int)Session["StaffID"];
    var staffRecord = db.Staffs.FirstOrDefault(staff => staff.StaffID == staffID);
    var company = staffRecord.Company;
    var staffForCompany = company.Staffs;
    return View(staffForCompany);
}

这可以获得该员工/公司的预订:

public ActionResult Index()
{
    int staffID = (int)Session["StaffID"];
    var staffRecord = db.Staffs.FirstOrDefault(staff => staff.StaffID == staffID);
    var company = staffRecord.Company;
    var bookingsForCompany = company.Bookings;
    return View(bookingsForCompany);
}

我想知道的是如何从与员工/公司表没有直接关联的表中获取数据。

我希望与登录的员工公司相关的客户。

请参阅此处的图片http://www.adamoxenhamsmith.co.uk/Uploads/download.jpg

2 个答案:

答案 0 :(得分:1)

从图中给出的ER图中,公司似乎有1个预订,每个预订都与1个客户相关

这应该有效:

var customers = staffRecord.Company.Bookings.Select(b => b.Customer);

答案 1 :(得分:0)

这应该有效:

| X   |  Y   |  Z |
-------------------
| X1  |  Y1  | Z1 | 
| X1  |  Y1  | Z2 | 
| X2  |  Y1  | Z1 | 
| X2  |  Y1  | Z3 |