Phương thức Bao gồm () hoạt động khá tốt cho Danh sách trên các đối tượng. Nhưng nếu tôi cần đi sâu hai cấp thì sao? Ví dụ: phương thức bên dưới sẽ trả về ApplicationServers với các thuộc tính được bao gồm ở đây. Tuy nhiên, ApplicationWithOverridegroup là một thùng chứa khác chứa các đối tượng phức tạp khác. Tôi có thể thực hiện Bao gồm () trên tài sản đó không? Hoặc làm thế nào tôi có thể tải tài sản đó đầy đủ?
Hiện tại, phương pháp này:
public IEnumerable<ApplicationServer> GetAll()
{
return this.Database.ApplicationServers
.Include(x => x.ApplicationsWithOverrideGroup)
.Include(x => x.ApplicationWithGroupToForceInstallList)
.Include(x => x.CustomVariableGroups)
.ToList();
}
Sẽ chỉ cư trú thuộc tính Kích hoạt (bên dưới) chứ không phải thuộc tính Ứng dụng hoặc CustomVariablegroup (bên dưới). Làm thế nào để tôi thực hiện điều này xảy ra?
public class ApplicationWithOverrideVariableGroup : EntityBase
{
public bool Enabled { get; set; }
public Application Application { get; set; }
public CustomVariableGroup CustomVariableGroup { get; set; }
}
Expression must be a member expression
khi tôi thử điều này: Để bao gồm một bộ sưu tập và sau đó một bộ sưu tập giảm một cấp :query.Include(e => e.Level1Collection.Select(l1 => l1.Level2Collection))
.