我是 MVC 的新手,并且使用 EF-database-first 创建了一个 MVC4 应用程序。数据库不包含外键定义,我无法添加它们(我不拥有数据库)。以下是数据库中的两个示例类:
public partial class Allocation
{
public int AllocID { get; set; }
public int DeptID { get; set; }
public decimal AllocationPercent { get; set; }
}
public partial class Department
{
public int DeptID { get; set; }
public string DeptName { get; set; }
public string Account { get; set; }
}
默认分配索引页面显示部门 ID。我想显示部门名称。如果没有导航属性,我怎么能做到这一点?
我试过
public class AllocationController : Controller
{
private Entities db = new Entities();
//
// GET: /Allocation/
public ActionResult Index()
{
return View(db.Allocation.Include(d => d.DeptID).ToList());
}
...
但这会产生错误(“指定的包含路径无效。EntityType 'TESTModel.Allocation' 未声明名为 'DeptID' 的导航属性。”)...
我也不确定如何在没有导航属性的情况下编写预先加载或显式加载的代码,这引发了这个问题。效率方面,我认为加载相关信息的方式并不重要,因此我们将不胜感激任何方向的帮助。