Я перезапустил работу и старый проект. Это база данных доступа с 6 таблицами. Один из них - главная таблица, TableA. Вот как это работает.Oledb и доступ. Должен использовать Inner Join или C# loop?
Таблица A имеет один-много с TableB, TableC и TableD.
У TableD есть один для многих с TableE.
Таблица имеет один-много с TableF.
В любой момент я нужен только 1 запись из TABLEA, но всегда будут нужны соответствующие записи в таблицах B, C, D, E и F.
Я в порядке с созданием отдельных Выберите вызовов для таблиц B и C, однако взаимосвязь для таблицы D интересна. Для каждой записи в таблице А таблица D будет содержать от 4 до 5 записей. Для каждой записи в таблице D таблица E будет содержать от 4 до 5 записей. Для каждой записи в таблице E таблица F может иметь более 100 записей.
В конечном итоге мне необходимо показать конечного пользователя: Информация из таблиц A, B, C и D. Информация в таблице E должна быть сгруппирована по таблице D (я использую поле со списком), а информация в таблице F должна быть сгруппированы в таблицу E (также выпадающее поле), затем разделены на 1 из 4 групп.
В настоящее время у меня есть класс интерфейса базы данных, который делает все мои вызовы БД и возвращает список привязок. Недавно я разработал SQL-запрос, который выполняет внутреннее соединение в TableD, TableE и TableF и думал, что я прокручу возвращаемые записи, тщательно создав свой 6 отдельных BindingList.
Мой вопрос: как это можно сделать лучше, избегая слишком большого количества ударов базы данных? Я ошибаюсь, полагая, что внутреннее соединение будет лучше, чем 4 отдельных вызова БД?
Я не следует данным точно, потому что я не могу видеть это, но я бы посоветуйте вам сделать как можно больше тяжелой работы в базе данных, поскольку это предназначено для того, что было предназначено. –
Спасибо Тим! Я как можно скорее создаю визуализацию макета для БД. –