2015-03-13 93 views
0

我有兩個型號ASP.NET MVC關係數據庫

public class Department 
{ 
    public int DepartmentID { get; set; } 
    public string DepartmentName { get; set; } 
    public string Image { get; set; } 
    public List<Teacher> Teachers { get; set; } 
} 

public class Teacher 
{ 
    public int TeacherID { get; set; } 
    public string TeacherName { get; set; } 
    public string TeacherLname { get; set; } 
    public int DepartmentID { get; set; } 
    public string Image { get; set; } 
    public Department Department { get; set; } 
} 

,我有一個視圖模型

public class ViewModel 
{ 
    public List<Teacher> Teachers { get; set; } 
    public List<Department> Departments { get; set; } 
} 

我有一個觀點,我正在顯示部門

SchoolDbContext db = new SchoolDbContext(); 
public ActionResult Index() 
{ 
    ViewModel model = new ViewModel(); 
    // retreive from database 
    model.Departments = db.Departments.ToList(); 
    return View(model); 
} 

和詳細信息我想顯示教師與我有一個關係的DepartmentID。

我試圖用這個

public ActionResult Details(int id = 0) 
{ 
    ViewModel model = new ViewModel(); 
    model.Departments = db.Departments.ToList(); 
    model.Teachers = db.Teachers.Where(m => m.DepartmentID == m.DepartmentID); 
    return View(model); 
} 

,但有一個錯誤

錯誤1無法隱式轉換類型 'System.Linq.IQueryable < _167School.Models.Teacher>' 來'System.Collections.Generic.List < _167School.Models.Teacher>'。一個顯式轉換存在(是否缺少強制轉換?)C:\用戶\管理\文件\的Visual Studio 2013 \項目\ 167School \ 167School \ \控制器33 DepartmentsController.cs

+2

你爲什麼要做m => m.DepartmentId == m.DepartmentId?它的上下文equivilent.Teachers.Where(m => true)? – heymega 2015-03-13 12:00:22

回答

4

試試這個:

public ActionResult Details(int id = 0) 
 
{ 
 
    ViewModel model = new ViewModel(); 
 
    model.Departments = db.Departments.ToList(); 
 
    model.Teachers = db.Teachers.Where(m => m.DepartmentID == id).ToList(); 
 

 

 
    return View(model); 
 
}

你,你必須回到教師實體定義爲您的ViewModel類列表,因爲它的列表。

+1

愛你離開的方式m => m.DepartmentID == m.DepartmentID在 – Ewan 2015-03-13 12:27:05

+0

更新了答案,m => m.DepartmentID == id – VindulaF 2015-03-13 12:35:42

+0

Nooo美味的諷刺破壞了! :( – Ewan 2015-03-13 12:37:21