Кто-нибудь знает способ сделать левое внешнее объединение с 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. Однако этот код генерирует ВНУТРЕННЕЕ СОЕДИНЕНИЕ вместо ВНЕШНЕГО СОЕДИНЕНИЯ:
List<Department> allDepartments = new Select()
.From<Department>()
.LeftOuterJoin<Division>(DepartmentsTable.IdColumn, DivisionsTable.DepartmentIdColumn)
.ExecuteTypedList<Department>();
Любая помощь будет оценена. Мне не очень повезло с SubSonic 3. Мне очень понравилось использовать SubSonic 2, и я могу вернуться к этому, если я не могу понять что-то столь же простое, как левое соединение.