我仍然从Entity Framework Code First开始。我希望能够在创建新资源时从列表中选择资源。如何使用资源模型引用资源。
public class Resource
{
public int ResourceId { get; set; }
[Required]
[DataType(DataType.EmailAddress)]
[EmailAddress]
public string EmailAddress { get; set; }
[Required]
public string Password { get; set; }
public string FullName { get; set; }
public int TimeManagerId { get; set; }
public int TravelManagerId { get; set; }
public int OvertimeManagerId { get; set; }
public int AbsenceManagerId { get; set; }
public virtual Resource TimeManager { get; set; }
public virtual Resource TravelManager { get; set; }
public virtual Resource OvertimeManager { get; set; }
public virtual Resource AbsenceManager { get; set; }
}
答案 0 :(得分:2)
我觉得你很亲密!如果要按惯例执行此操作,可以将模型中的外键更改为[导航属性名称] [主要主键属性名称]的形式。具体来说,将Id
更改为ResourceId
,使其与您引用的表格的主要内容相匹配(恰好是其本身)......
public int TimeManagerResourceId { get; set; }
public int TravelManagerResourceId { get; set; }
public int OvertimeManagerResourceId { get; set; }
public int AbsenceManagerResourceId { get; set; }
由于您刚开始使用EF代码,我建议您安装Entity Framework Power Tools。您将能够右键单击包含DbContext的.cs文件,它将生成映射的只读图。
尝试使用当前模型...右键单击图中的实体并查看表映射。你会看到EF无法找出你的外键并为你创造了4个。完成上述更改后,再次生成图表并查看差异。
编辑:代码优先约定的文档... http://msdn.microsoft.com/en-us/data/jj679962.aspx