如果我有4代表具有層次結構,如:如何使用EF設計具有層次關係表的模型?
- 建築(建築有很多層1F,2F,3F ...) - 1級
- 地板(地板有很多房間太101。 ,201,301 ..) - 2級
- 間(有許多設施太PC,冷氣機..) - 3級
- 設施 - 級別4
這裏我的模型概念:
建築模型
public class Building
{
[Key]
public string BuildingId { get; set; }
public string BuildingName { get; set; }
public virtual ICollection<Floor> floors { get; set; }
}
落地式
public class Floor
{
[Key]
public string BuildingId { get; set; }
[Key]
public string FloorId { get; set; }
public virtual Building Building { get; set; }
public virtual ICollection<Room> rooms { get; set; }
}
室模型
public class Room
{
[Key]
public string BuildingId { get; set; }
[Key]
public string FloorId { get; set; }
[Key]
public string RoomId { get; set; }
public virtual Building Building { get; set; }
public virtual Floor Floor { get; set; }
public virtual ICollection<Amenity> amenities { get; set; }
}
美化模型
public class Amenity
{
[Key]
public string AmenityId { get; set; }
[ForeignKey("Builiding")]
public string BuildingID{ get; set; }
[ForeignKey("Floor")]
public string FloorID{ get; set; }
[ForeignKey("Room")]
public string RoomID{ get; set; }
}
那是正確的,我還有什麼我需要的嗎?
我整天都試過這個ASP.NET tutorial,但它太簡單了,不能理解和表達我的概念,因爲我對C#語法或.NET不太好。