Iのような階層構造を持つ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; }
}
は正しいと私ですもっと必要なものは何か?
私は一日中これを試しましたが、C#の構文や.NETでうまくいかないため、私のコンセプトを理解して表現するのは簡単すぎます。