我正在使用c#和linq2db,并且具有以下类/表层次结构:
public class YearlyTemplate
{
[Column]
public int Id { get; set; }
public List<MonthlyTemplate> MonthlyTemplates { get; set;}
}
public class MonthlyTemplate
{
[Column]
public int Id { get; set; }
[Column]
public int YearlyTemplateId { get; set; }
public YearlyTemplate YearlyTemplate{ get; set; }
public List<DailyTemplate> DailyTemplates { get; set;}
}
public class DailyTemplate
{
[Column]
public int Id { get; set; }
[Column]
public int MonthlyTemplateId { get; set; }
public MonthlyTemplate MonthlyTemplate { get; set; }
}
public class AppDataConnect : DataConnection
{
public ITable<YearlyTemplate> YearlyTemplates => GetTable<YearlyTemplate>();
public ITable<WeeklyTemplate> WeeklyTemplates => GetTable<WeeklyTemplate>();
public ITable<DailyTemplate> DailyTemplates => GetTable<DailyTemplate>();
}
我想使用where语句从数据库中获取特定年份,但是我想为其获取所有嵌套的MonthlyTemplates,以及每个MonthlyTemplate的所有DailyTemplates。 如何有效地使用linq2db? 我想我应该使用group by,但是它只能在一个级别的深度上使用。