1
我正在使用實體框架和.Net 4 MVC 3.在我的控制器的創建方法中,我帶入一個員工對象,用於在我的數據庫中創建條目。實體框架 - 創建和使用導航屬性
public class Employee
{
public int Id { get; set; }
public int ManagerId { get; set; }
public virtual Employee Manager { get; set; }
}
public ActionResult Create(Employee model)
{
if (ModelState.IsValid)
{
db.Employees.Add(model);
db.SaveChanges();
// Now I want to use the navigation properties
Notification(model.Manager.Name);
}
}
我從視圖發回管理員標識。現在,如果我重定向到詳細信息頁面,管理器已創建 - 但是當我嘗試訪問它時,如上所示,它爲空。我不得不訴諸的是:
if (ModelState.IsValid)
{
model.Manager = _employeeRepository.Get(model.ManagerId);
db.Employees.Add(model);
db.SaveChanges();
// Now this works
Notification(model.Manager.Name);
}
但是,這似乎並不正確。 EF確實爲我創建了Manager對象,那麼爲什麼我需要手動獲取並設置它?難道我做錯了什麼?
好了,現在是非常合情合理的,實際上似乎沒錯!謝謝。 – Terry 2012-01-05 20:29:26