Итак, моя проблема в том, что в моей базе данных есть куча взаимосвязанных таблиц. Теперь, в зависимости от того, что хочет пользователь, мне нужно создавать разные проекции из них.
Допустим, у меня 10 таблиц и мне нужно 6 разных прогнозов. Эти проекции непосредственно используются в качестве источника данных компонента представления, который я использую. По сути, до сих пор я нашел два способа сделать это.
1) Я создаю DataSet с конструктором, который содержит все необходимые мне таблицы. Затем я создаю проекции с помощью Linq2DataSet и передаю результаты компоненту представления.
2) Я создаю DataSet, который содержит 6 пользовательских адаптеров таблиц, по одному для каждой проекции, а затем заполняю ими таблицы данных и передаю таблицы компоненту представления.
Для решения 1 оно, очевидно, более гибкое, и мне легче создавать из него новые проекции. Однако, если объем данных увеличивается, это может стать проблемой.
Для решения 2 легче, но очень сложно вносить какие-либо изменения. Я не ожидаю, что многие изменится в ближайшее время, но гибкость всегда хороша.
Итак, какое из этих решений было бы лучше, и есть ли другие, более лучшие решения, доступные также?
РЕДАКТИРОВАТЬ: Добавление некоторого контекста
Так что я решил привести пример типа данных, с которыми я работаю. По сути, у меня есть таблица, которая содержит результаты. Результат имеет тип и может иметь одно или несколько отношений. Они определены как, например, truckID, routeID или countryID.
Теперь, в зависимости от типа результата, мне нужно получить одно или несколько отношений. Примерами этого могут быть тип результата средней скорости грузовика, который может иметь отношение ко всем трем, то есть я хотел бы присоединиться ко всем вышеупомянутым таблицам. Другим примером может служить тип результата количества поставок грузовых автомобилей, которые могут иметь отношение к маршрутам и странам. Неиспользуемые отношения всегда равны 0 или нулю.
Кроме того, эти случаи дополнительно подразделяются на сценарии. Это означает, что я должен иметь возможность изменять запросы, которые выбирают данные для отображения, чтобы учитывать только данный сценарий.
Так что моя проблема в том, как прочитать все эти данные и использовать их соответствующим образом. Я полагаю, SQL-представления могут быть одним из вариантов. Я совершенно новичок в доступе к базе данных, поэтому любая помощь приветствуется.