我的db有一些实体之间的关系。例如房间:
public class House{
[Key]
public int Id{get;set;}
public string Address{get;set;}
public virtual IList<Room> Rooms{get;set;}
}
public class Room{
[Key]
public int Id{get;set;}
public string RoomName{get;set;}
[ForeignKey("House")]
public int HouseId{get;set;}
public virtual House House{get;set;}
}
好的,现在当我像这样查询我的房间时:
Room room = ctx.Room.Where(x => x.Id == myId).FirstOrDefault();
如果我尝试序列化它,我有房间,房子不是空的,里面有房间列表,房子,房间列表......等等。
我希望Room只选择非虚拟属性,例如HouseId但不是House本身......我怎么能实现这个呢?
编辑: 我忘了你说我有时可能需要包含那些嵌套的实体。例如,有时我可能需要检查房间内房屋内的房产。但有时候不是。有没有办法选择每一次?