Linq 与亚音速3.0的外部连接
有人知道用亚音速3.0做左外连接的方法吗,或者其他方法来解决这个问题?我试图实现的是,我有一个部门表和另一个部门表。一个部门可以有多个部门。我需要显示一个包含部门的部门列表。得到一个包含部门集合的部门集合是理想的,但我也会使用一个扁平的结果表 使用LINQ语法似乎有问题(虽然我对LINQ不熟悉,但可能用错了),例如,这会引发ArgumentException错误:Linq 与亚音速3.0的外部连接,linq,subsonic,subsonic3,Linq,Subsonic,Subsonic3,有人知道用亚音速3.0做左外连接的方法吗,或者其他方法来解决这个问题?我试图实现的是,我有一个部门表和另一个部门表。一个部门可以有多个部门。我需要显示一个包含部门的部门列表。得到一个包含部门集合的部门集合是理想的,但我也会使用一个扁平的结果表 使用LINQ语法似乎有问题(虽然我对LINQ不熟悉,但可能用错了),例如,这会引发ArgumentException错误: var allDepartments = from div in Division.All() join dept in D
var allDepartments = from div in Division.All()
join dept in Department.All() on div.DepartmentId equals dept.Id into divdept
select divdept;
所以我想我可以回到使用亚音速查询语法。但是,此代码生成内部联接而不是外部联接:
List<Department> allDepartments = new Select()
.From<Department>()
.LeftOuterJoin<Division>(DepartmentsTable.IdColumn, DivisionsTable.DepartmentIdColumn)
.ExecuteTypedList<Department>();
列出所有部门=新建选择()
.From()
.LeftOuterJoin(DepartmentsTable.IdColumn、DivisionsTable.DepartmentIdColumn)
.ExecuteTypedList();
任何帮助都将不胜感激。我在亚音速3上运气不太好。我真的很喜欢使用亚音速2,如果我不能找到像左连接这样基本的东西,我可能会回到亚音速2
找回一个包含部门集合的部门集合将是理想的选择
亚音速可以为您这样做(如果您在数据库中正确设置了关系),只需选择所有部门
:
var depts = Model.Department.All();
depts
的每个项目中都有一个名为Divisions
的属性,它包含一组Division
对象。Nice。我认为可能是这样的,因为它是ActiveRecord的一个实现。我被呼叫部门返回的IQueryable弄糊涂了。现在说得通了,谢谢。