0
這裏是我的數據庫架構: -指定導航屬性的結果視圖模型
public class Department
{
public int Id { get; set; }
public string Name { get; set; }
public virtual ICollection<Employee> Employee_Id { get; set; }
}
public class Employee
{
public int Id { get; set; }
public string Name { get; set; }
public long Salary { get; set; }
public string Gender { get; set; }
public virtual Department Department_Id { get; set; }
}
根據我的研究的一個很好的做法,使用查看模型所以我通常創建我的模型,這種查詢: -
var v = edm.Departments.Select(x => new departmentViewModel { Name = x.Name });
return v.ToList();
現在我想導航屬性的好處加入到我的代碼。問題是它不適合我有用的,如果我不能把結果賦值給我視圖模型。如果我試圖通過員工訪問到部我不能訪問。選擇()聲明。
var v = edm.Employees.Where(x => x.Id == 1).FirstOrDefault().Department_Id. //Ops!!!
在上述發言中,我可以接觸到Id
和Name
但.Select()
無法訪問。
我可以忽略導航屬性並打破我的查詢到兩個查詢,並實現我想要的。但我問我怎麼能夠將它與導航屬性?我只是誤解了它的使用情況如何?