2017-03-31 71 views
0

我是MVC的新手,我目前正在研究Entity Framework作爲從數據庫中提取數據的一種方式。ASP.NET MVC DbContext

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

但我kindda困惑中我應該把哪些變量我employeeContext.Employees,這樣以後我可以把它傳遞給視圖。我以爲像陣列。

+1

我不明白你在問什麼。爲什麼你不能將'員工'變量傳遞給視圖?什麼是實際問題? – David

+0

返回查看(員工);不知道爲什麼你可能想要一個數組,除非你的觀點特別需要它? –

+1

我也不明白問題是什麼。什麼阻止你將它傳遞給視圖? – Amy

回答

1
  1. 你得到的Employee[] employees = employeeContext.Employees類型不匹配,因爲employeeContext.EmployeesDbSet<Employee>,而不是一個數組。
  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