0
我是實現一個加載和保存酒店合同的Web服務。這是類結構(簡化)如何有效地加載複雜的對象實體框架6
public class Contract
{
public int id { get; set; }
public virtual ICollection<Season> seasonList { get; set; }
public virtual ICollection<Room> roomList { get; set; }
}
public class Season
{
public int id { get; set; }
public Contract contract { get; set; }
public virtual ICollection<Season_Date> season_DateList { get; set; }
}
public class Room
{
public int id { get; set; }
public Contract contract { get; set; }
public virtual ICollection<Contingent> contingentList { get; set; }
}
public class Season_Date
{
public int id { get; set; }
public Season season { get; set; }
}
public class Contingent
{
public int id { get; set; }
public Season season { get; set; }
public Room room { get; set; }
}
對於加載方法,需要加載一個包含所有細節的合同。我不想使用include,因爲涉及到很多表和字段,我擔心,結果查詢是複雜的。 有沒有辦法使用合同ID加載season_date和臨時記錄?
喜。延遲加載可以做到這一點,但是當我已經知道,我不需要完整的對象圖。如果我每個賽季有5個賽季和2個日期,那麼使用延遲加載,我會向數據庫(合同+季節列表+ 5 x season_date列表)獲得7個查詢。但通過使用合同的聯接或構建in(id list)查詢,可以在3個查詢中獲取相同的數據(合約+季節列表+合約id中的season_date列表)。 –