【发布时间】:2009-08-07 15:33:25
【问题描述】:
有谁知道使用 SubSonic 3.0 进行左外连接的方法或解决此问题的其他方法?我想要完成的是我有一个部门表和另一个部门表。一个部门可以有多个部门。我需要显示一个包含部门的部门列表。取回一个包含一个部门集合的部门集合是理想的,但我也会采用一个扁平的结果表。
使用 LINQ 语法似乎被破坏了(虽然我是 LINQ 的新手,可能使用错了),例如这会引发 ArgumentException 错误:
var allDepartments = from div in Division.All()
join dept in Department.All() on div.DepartmentId equals dept.Id into divdept
select divdept;
所以我想我可以回退到使用 SubSonic 查询语法。然而,这段代码会生成一个 INNER JOIN 而不是 OUTER JOIN:
List<Department> allDepartments = new Select()
.From<Department>()
.LeftOuterJoin<Division>(DepartmentsTable.IdColumn, DivisionsTable.DepartmentIdColumn)
.ExecuteTypedList<Department>();
任何帮助将不胜感激。我在使用 SubSonic 3 时运气不佳。我真的很喜欢使用 SubSonic 2,如果我想不出像左连接这样基本的东西,我可能会回到那个状态。
【问题讨论】: