【发布时间】:2021-07-09 14:05:09
【问题描述】:
我有一个包含 3 个表的 SQL 数据库
- 员工
- 员工详细信息
- 工作
我使用 Linq 将 Employee 和 Employee Details 链接在一起,所以现在我有一个列出所有员工的表和一个在 EmployeeDetails 表中引用的 JobID。所以当我运行我的项目时,它如下所示;
姓名扩展职位电子邮件
|马特|分机 0000 | 56 | email@email.co.uk
现在我要做的是链接到名为 Jobs 的第三个表,以更改 ID 56 并实际获取作业名称。
我已经创建了我的模型和视图模型;
下面是我的控制器
namespace ServiceDirectory.Controllers
{
public class EmployeeController : Controller
{
private ApplicationDbContext db;
public EmployeeController()
{
db = new ApplicationDbContext();
}
// GET: Employee
public ActionResult Index(string searchBy, string search)
{
List<EmpVM> Employee = new List<EmpVM>();
var Emp = (from E1 in db.Employee
join E2 in db.EmployeeDetails
on E1.EmployeeID equals E2.EmployeeID
select new EmpVM
{
EmployeeID = E1.EmployeeID,
Forename = E1.Forename,
Surname = E1.Surname,
Ext = E1.Ext,
Email = E1.Email,
Active = E1.Active,
JobID = E2.JobID
});
if (searchBy == "Forename")
{
return View(Emp.Where(a => a.Forename.StartsWith(search) && a.Active == true));
}
else
{
return View(Emp.Where(a => a.Surname.StartsWith(search) && a.Active == true));
}
}
protected override void Dispose(bool disposing)
{
db.Dispose();
}
}
}
所以我正在寻找的是链接到第三个表并将作业 ID 获取到作业名称。
【问题讨论】:
标签: c# entity-framework linq model-view-controller linq-to-sql