我有三种对象:机构(Agency)、事业部(BusinessUnit)和客户(Client)(每个都有自己的表)。
从层次结构上看,机构拥有事业部,而事业部则拥有客户。
我有三个 C# POCO 对象来代表它们(通常我会选择使用 new {} 创建它们,而不是使用 LINQ 生成的类):
public class Agency
{
public IEnumerable<BusinessUnit> BusinessUnits { get; set; }
}
public class BusinessUnit
{
public IEnumerable<Client> Clients { get; set; }
}
public class Client
{
public int NumberOfAccounts { get; set; }
public Decimal AmountOfPlacement { get; set; }
public Decimal AvgBalance { get; set; }
public Double NeuPlacementScore { get; set; }
}
您可以看到,机构包含业务单元的列表,而业务单元包含客户的列表。
我还在数据库中有一个名为BAC_Map的映射表,它表示谁拥有谁,并且看起来像这样:
如何构建查询,以便可以查询并返回机构列表?这意味着我希望每个机构都有其BusinessUnit对象集合,并且我希望BusinessObjects列表具有其客户列表集合。
我可以进行基本的LINQ查询,但是对于Map表和多个查询,这有点超出了我的能力范围。
我该如何构建像GetAllAgencies()这样的方法,它不仅查询所有机构,还填充其所拥有的BusinessUnits以及这些BusinessUnits所拥有的客户?
编辑:任何提示或信息都将不胜感激。我需要做连接吗?这需要是多个查询来返回已填充其子成员的机构列表吗?