У меня есть эта модель для Employees
:
public class EmployeeViewModel
{
public int Id { get; set; }
// some more properties
public List<EmployeeReservationViewModel> Reservations { get; set; }
}
... и эта для EmployeeReservations
:
public class EmployeeReservationViewModel
{
public int Id { get; set; }
public int EmployeeId { get; set; }
// some more properties
public EmployeeViewModel Employee { get; set; }
}
В Employees
Details
-для просмотра, у меня есть ссылка для добавления нового EmployeeReservation
, например:
<a asp-controller="EmployeeReservations"
asp-action="Create">Add reservation</a>
Как передать EmployeeId
в EmployeeReservations/Create
-View?
НаВ тот момент, когда я использую переменную сеанса, например, в методе Details Employees
в контроллере:
HttpContext.Session.SetInt32("EmployeeId", employee.Id);
... и затем извлекаю его в методе POST Create вEmployeeReservations
-контроллер:
employeeReservation.EmployeeId = HttpContext.Session.GetInt32("EmployeeId").Value;
db.Add(employeeReservation);
await db.SaveChangesAsync();
У меня такое ощущение, что мой метод не оптимален.Что делать, если время сеанса истекло?Есть ли другой, более надежный способ сделать это?