我正在做一些实验性的编程,以赶上ASP MVC。MVC 5代码第一个脚手架与简单的关系
我为包含房间的建筑物创建了一个项目。一个非常简单的一对多关系。我试图让脚手架工作,从旧的MVC例子看来,这应该只是工作。但是,Rooms中的BuildingId字段未映射到Building模型 - 视图中没有选择列表。
我的车型有:
namespace BuildingManagement.Models
{
public class Building
{
public int Id { get; set; }
[Required]
public string Name { get; set; }
public string Address { get; set; }
public string Street { get; set; }
public string City { get; set; }
public string Province { get; set; }
public string PostalCode { get; set; }
[Display(Name = "Phone")]
[DataType(DataType.PhoneNumber)]
[Required]
public string PhoneMain { get; set; }
[Display(Name = "Contact")]
[Required]
public string ContactName { get; set; }
public string Description { get; set; }
public virtual ICollection<Room> Rooms { get; set; }
}
}
和
namespace BuildingManagement.Models
{
public class Room
{
public int Id { get; set; }
[Required]
public string Name { get; set; }
public string Type { get; set; }
public int BuildingId { get; set; }
}
}
我生成使用实体框架,它创造的形式,但可以欣赏到控制器不与房间编辑视图预期号楼选择列表。它改为显示一个整数输入字段。
我错过了什么?
我认为让我更接近。现在,我得到一个导航属性错误'类型'FacilityManagement.Models.Room'属性'BuildingId'上的ForeignKeyAttribute无效。在依赖类型'BuildingManagement.Models.Room'上未找到导航属性“Building”。名称值应该是一个有效的导航属性名称.' – sreimer
有时候不可能将类和名称命名为相同的名称,正如我在此处显示的那样。我会编辑答案。 – Mithrandir