Вам необходимо использовать View Models.Модель представления связана с архитектурными шаблонами MV * и используется для передачи данных в / из представления.Я постараюсь объяснить это простыми словами.Давайте рассмотрим, у вас есть две таблицы:
Сотрудник
---------------------------------------
| Id | Name | Designation |
---------------------------------------
| 1 | John Doe | Software Engineer |
---------------------------------------
| 2 | John Smith | Test Engineer |
---------------------------------------
Зарплата
----------------------------------------
| Id | EmployeeId | EmployeeSalary |
----------------------------------------
| 1 | 1 | $10,000 |
----------------------------------------
| 2 | 2 | $10,000 |
----------------------------------------
Теперь для доступа к этим двумтаблиц в вашем коде, вы создали объекты данных с помощью ORM, и он создаст два класса:
Employee.cs
public class Employee
{
public int Id { get; set; }
public string Name { get; set; }
public string Designation { get; set; }
}
Salary.cs
public class Salary
{
public int Id { get; set; }
public int EmployeeId { get; set; }
public long EmployeeSalary { get; set; }
}
Теперь, чтобы использовать эти две модели для представления значимых данных в пользовательском интерфейсе, вы можете создать ViewModel со всеми необходимыми объектами данных и передать его через контроллер в представление:
EmployeeViewModel.cs
public class EmployeeViewModel
{
public Employee EmployeeDetail { get; set; }
public Salary EmployeeSalaryDetail { get; set; }
}
EmployeeController:
public class EmployeeController
{
public ActionResult Index()
{
var model = new EmployeeViewModel();
return View(model);
}
}
Для существенных различий между объектами данных и представлениеммодели, проверьте это; Можно ли создавать модели представлений из моделей, созданных из таблиц базы данных, используя подход базы данных Entity Framework DB?