2014-05-12 2 views
0

아래 코드 조각은 직원 레코드를 업데이트합니다. 이것은 일을하는 올바른 방법 인 것처럼 보입니다. 그러나 레코드의 현재 값을 가져 오기 전에 업데이트하기 전에 데이터베이스를 쿼리해야한다는 것이 이상하게 보입니다. .net의 옛날에는 방금 업데이트 문을 실행하는 데 사용하고 모두 괜찮을 것입니다. MVC에서 변경되지 않은 레코드를 먼저 선택하지 않고 레코드를 업데이트하는 방법이 있습니까?MVC 데이터베이스 테이블 메서드 쿼리 업데이트

[HttpPost] 
    public ActionResult Edit(staff2.Models.editEmployeeViewModel evm) 
    { 

     if (ModelState.IsValid) 
     { 

      staff.Models.Employee emp = context.Employees.SingleOrDefault(e => e.EmpId == id); 

      emp.EmpSurname = evm.lastname; 
      emp.EmpFirstname = evm.firstName; 
      emp.EmpExt = evm.EmpExt; 

      context.updateEmployee(emp); 
      context.Save(); 

      return RedirectToAction("/Details/" + employee.empID, null, null); 

     } 

     return View(employee); 

    } 

답변

0

웹 환경에있는 경우 연결되지 않고 상태가없는 환경에서 작업하고 있습니다. 따라서 데이터베이스에 업데이트해야 할 내용을 알려줘야합니다. 엔티티에 대한 참조가 필요하고 나머지는 EF가 처리합니다. 그것은 이상하게 보일지도 모른다. 그러나 잠시 후 그것은 제 2의 천성이된다.

관련 문제