Include() メソッドは、オブジェクトのリストに対して非常にうまく機能します。しかし、2 レベル深くする必要がある場合はどうすればよいでしょうか。たとえば、以下のメソッドは、ここに示すプロパティを含む ApplicationServers を返します。ただし、ApplicationsWithOverrideGroup は、他の複雑なオブジェクトを保持する別のコンテナーです。そのプロパティでも Include() を実行できますか? または、そのプロパティを完全にロードするにはどうすればよいですか?
現在のところ、この方法は次のとおりです。
public IEnumerable<ApplicationServer> GetAll()
{
return this.Database.ApplicationServers
.Include(x => x.ApplicationsWithOverrideGroup)
.Include(x => x.ApplicationWithGroupToForceInstallList)
.Include(x => x.CustomVariableGroups)
.ToList();
}
Application または CustomVariableGroup プロパティ (下記) ではなく、Enabled プロパティ (下記) のみを設定します。どうすればこれを実現できますか?
public class ApplicationWithOverrideVariableGroup : EntityBase
{
public bool Enabled { get; set; }
public Application Application { get; set; }
public CustomVariableGroup CustomVariableGroup { get; set; }
}