public IActionResult LoginSubmit(Employee obj)
{
var abc = _db.Employees.Where(x => x.EmailId == obj.EmailId).FirstOrDefault();
var passAuth = _db.Employees.Where(x => x.Password == obj.Password).FirstOrDefault();
if (abc != null && passAuth != null)
{
return RedirectToAction("Index", "EmployeeLeaves");
}
else
{
return RedirectToAction("Login","Employee");
}
}
上面的代码是我的员工控制器,我想将id传递给Employeeleaves
控制器(如下所示(,这样我就可以使用它并从这两个表中获取数据。
此外,登录身份验证条件也相当糟糕。请同时提出逻辑。有没有什么方法可以使用LinqJoin 从EmployeeLeavesController
中的两个表中提取数据
private ApplicationDbContext _db;
public EmployeeLeavesController(ApplicationDbContext db)
{
_db = db;
}
public ViewResult Index(int EmployeeId)
{
//var employeeLeaveEMp = _db.EmployeeLeaves.Include(c => c.Employee).ToList();
//List<Employee> employeeList = _db.Employees.ToList();
//List<EmployeeLeaves> employeeLeaves = _db.EmployeeLeaves.Where(emp => emp.EmployeeId == EmployeeId).ToList();
return View();
}
如果你只想在用户logged-in
之后传递EmployeeId
,你可以像下面这样传递:
return RedirectToAction("Index", "EmployeeLeaves",new {EmployeeId=abc.Id});
就将值从控制器传递到另一个控制器而言。您可以使用会话变量来存储值,然后在其他控制器中使用它。是的,您可以使用join从两个表中获取记录,只需尝试在LINQ 中查找和join查询
https://www.tutorialsteacher.com/linq/linq-joining-operator-join