ASP.NET Показать более одной записи / строки - PullRequest
0 голосов
/ 16 января 2019

Я новичок в ASP.NET MVC. Я создаю приложение для отслеживания праздников и пытаюсь создать страницу сведений для каждого сотрудника. Я хочу, чтобы на этой странице отображалась таблица со всеми запросами на отпуск, которые принял сотрудник. Я получил его на работу, но он показывает только одну строку.

Вот мои модели

public partial class Employee
{
    public int EmployeeID { get; set; }
    public string FullName { get; set; }
    public string EmailID { get; set; }
    public string Password { get; set; }
    public System.DateTime StartDate { get; set; }
    public int RoleID { get; set; }
    public int ShiftID { get; set; }
    public int AreaID { get; set; }
    public int DisciplineID { get; set; }
    public int SiteID { get; set; }
    public int ALCategory { get; set; }
    public Nullable<int> HoursTaken { get; set; }
    public Nullable<int> AwardedLeave { get; set; }
    public Nullable<int> TotalHoursThisYear { get; set; }
    public int HoursCarriedForward { get; set; }
    public Nullable<int> EntitlementRemainingThisYear { get; set; }
    public string Comments { get; set;}

}

Модель сотрудника:

 public class EmployeeViewModel
{
    public Employee Employee { get; set; }

    public HolidayRequestForm HolidayRequestForm { get; set; }
}

Форма для запроса праздника Модель:

 public partial class HolidayRequestForm
{
    public int RequestID { get; set; }
    public int EmployeeID { get; set; }
    public System.DateTime StartDate { get; set; }
    public System.DateTime FinishDate { get; set; }
    public int HoursTaken { get; set; }
    public string Comments { get; set; }
    public int YearCreated { get; set; }
    public int MonthCreated { get; set; }
    public Nullable<int> DayCreated { get; set; }
    public Nullable<int> YearOfHoliday { get; set; }

    public virtual Employee Employee { get; set; }
}

Действие контроллера:

 public ActionResult Details(int? id)
      {
        Employee employee =  db.Employees.FirstOrDefault(emp => emp.EmployeeID == id);
        HolidayRequestForm holidayRequestForm db.HolidayRequestForms.FirstOrDefault(emp => emp.EmployeeID == id);



        EmployeeViewModel employeeViewModel = new EmployeeViewModel()
           {
               Employee = employee,
               HolidayRequestForm = holidayRequestForm,

           };

        return View(employeeViewModel);


    }

My View - это просто HTML-таблица для отображения данных из базы данных. Итак, вопрос в том, как мне отобразить более одной строки или записи? Это то, что я использую FirstorDefault?

1 Ответ

0 голосов
/ 16 января 2019

Вы должны изменить модель сотрудника и объявить список для праздника:

Модель сотрудника:

public class EmployeeViewModel
{
    public Employee Employee { get; set; }

    public List<HolidayRequestForm> HolidayRequestForm { get; set; }
}

Действие контроллера:

public ActionResult Details(int? id)
{
        Employee employee =  db.Employees.FirstOrDefault(emp => emp.EmployeeID == id);
        List<HolidayRequestForm> holidayRequestForm = db.HolidayRequestForms.Where(emp => emp.EmployeeID == id).ToList();



        EmployeeViewModel employeeViewModel = new EmployeeViewModel()
           {
               Employee = employee,
               HolidayRequestForm = holidayRequestForm,

           };

        return View(employeeViewModel);


}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...