|
716 / 473 / 258
Регистрация: 19.12.2014
Сообщений: 1,801
|
|
Как работать с большой БД19.12.2014, 17:35. Показов 1459. Ответов 4
Метки нет (Все метки)
Здравствуйте.
Решил перейти на С# с другого языка программирования. Работаем с MS SQL, что приводит нас к ADO.NET Много читал и смотрел уроков в сети но так и не смог определиться – как работать со своей БД. Почти все примеры что я видел, мелкие телефонные справочники и программы небольшим количеством таблиц/записей. Загрузить такие объемы данных в память, в DataSet не проблема. У меня же стоит вопрос о работе с БД 10-50 Гб с ~150 таблицами. Когда в программе один DataSet и небольшое количество данных - примерно понятно как все работает. В моем случае я начинаю теряться. Один DataSet на всю программу (как обычно делают) опишет горы почти никогда не нужных в работе полей + нужно все данные закачать в него. Только закачав все данные в DataSet через адаптеры, я смогу потом в нескольких одинаковых гридах получать разные выборки данных. Как бы не подходит. Работать с напрямую через DataReader и команды кажется придется писать огромное количество кода на каждое действие. Тоже не вариант. Как то додумался до такого: В окне с DataGridView создаю DataSet. Создаю таблицы адаптеры и т.д. Связываю DataGridView через DataView или через BindingSource с таблицей и работаю. Соответственно каждое открытое окно (к примеру справочника) с DataGridView сможет получить свой набор данных по фильтру или за период. Редактирование данных всегда происходит в форме. Под формой я понимаю окно с текст боксами и кнопками OK, Cancel в минимальном варианте. Передаем туда как то datasource для связи с TextBox и DataSet для того что бы можно было подгрузить дополнительные данные, типа выпадающие списки и т.д. По нажатию OK в простейшем случае делаем Update и возвращаем DialogResult.OK Как то так. Ну и собственно вопрос, я в правильном направлении двигаюсь? Если да то, как правильно реализовать передачу DataSet и т.д. между классами?
0
|
|
| 19.12.2014, 17:35 | |
|
Ответы с готовыми решениями:
4
Как работать с большой базой данных?
Работать СисАдмином - большой риск перед законом? |
|
1245 / 1055 / 293
Регистрация: 07.03.2012
Сообщений: 3,246
|
||
| 20.12.2014, 10:47 | ||
|
В любом случае, у вас какие то странные подходы к извлечению данных из бд. Никому сразу данные из всех таблиц не нужны никогда. Будь то ef, или ado.net, выгружать 15гб данных неверно
0
|
||
|
716 / 473 / 258
Регистрация: 19.12.2014
Сообщений: 1,801
|
|||
| 20.12.2014, 12:38 [ТС] | |||
|
0
|
|||
|
1245 / 1055 / 293
Регистрация: 07.03.2012
Сообщений: 3,246
|
|||
| 20.12.2014, 15:34 | |||
|
0
|
|||
|
716 / 473 / 258
Регистрация: 19.12.2014
Сообщений: 1,801
|
||
| 20.12.2014, 15:42 [ТС] | ||
|
Ладно. Будем читать дальше про EF. Спасибо
0
|
||
| 20.12.2014, 15:42 | |
|
Помогаю со студенческими работами здесь
5
Под большой нагрузкой кулер перестает работать на максимум Может ли при большой нагрузке (чрезмерно большой) на определенные участки тела, происходить потемнение кожи на этих участках? может ли купленная мною GTX460 работать к примеру не как должна работать GTX460 а как видюха по хуже? Как может сервер-сайд код работать или не работать на конкретном компе?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Функция установки текстового статуса в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению.
На форме документа создается. . .
|
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
|
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
|
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|
|
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию.
2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO
Апнулись до NET10.
Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта
так и в интерактивном режиме. из сложностей - чисто функциональный подход.
Решил. . .
|
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2.
Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники".
В. . .
|