2017-03-31 1 views
0

저는 MVC를 처음 사용하고 있으며 현재 데이터베이스에서 데이터를 추출하는 방법으로 Entity Framework를 연구 중입니다.ASP.NET MVC DbContext

public ActionResult Index() 
{ 
    EmployeeContext employeeContext = new EmployeeContext(); 
    Employee[] employees = employeeContext.Employees; 
    return View(); 
} 

하지만 난 내 employeeContext.Employees은 그래서 그 후 내가보기에 전달할 수 있습니다 놓아야 어떤 변수에 kindda 혼란 스러워요. 나는 배열과 같은 것을 생각했다. employeeContext.EmployeesDbSet<Employee> 아닌 배열 때문에

+1

나는 당신이 무엇을 요구하는지 이해하지 못합니다. 왜'employees' 변수를보기에 전달할 수 없습니까? 실제 문제는 무엇입니까? – David

+0

반환보기 (직원); 보기가 특별히 필요로하지 않는 한 배열을 원할 이유가 확실하지 않은가요? –

+1

나는 또한 문제가 무엇인지 이해하지 못한다. 보기에 전달하지 못하게하는 요인은 무엇입니까? – Amy

답변

1
  1. 당신은 Employee[] employees = employeeContext.Employees에 형식이 일치를 얻고있다.
  2. 보기에 모델을 전달해야합니다.이 방법은 View()의 오버로드로 수행 할 수 있습니다.
  3. 당신은 using 블록에서 DbContext 폐기해야하는 (이 IDisposable을 구현하고 해제하는 자원을 보장하기 위해이 인터페이스를 구현하는 거의 모든 것을 그 패턴을 따라야합니다 을 때 더 이상 없습니다 사용에서)

또한 수천 명이 있다면 매번 직원의 모든 것을 전달하고 싶지 않을 것입니다.

코드가 업데이트되었습니다.

public ActionResult Index() 
{ 
    using(EmployeeContext employeeContext = new EmployeeContext()) 
    { 
     Employee[] employees = employeeContext.Employees.ToArray(); // now it will return an array 
     return View(employees); // pass employees to your view 
    } 
} 
+0

지금은 실험 중입니다 :) 그래서 내가 모든 것을 통과합니다. – peter