Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.80/25: Рейтинг темы: голосов - 25, средняя оценка - 4.80
25 / 24 / 18
Регистрация: 16.10.2009
Сообщений: 1,166

Сериализация таблицы базы данных

27.02.2019, 09:27. Показов 5480. Ответов 25
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Уважаемые Гуру!
На сервере mysql база данных. Клиенты в разных городах работают с приложением, которое обращается к этой БД.
У некоторых клиентов очень медленная сеть, что приводит к медленной загрузке и работе приложения.
Связанных таблиц пару десятков.
Для решения проблемы хочу сделать так. В конце дня все данные сериализуются в файл на компьютере клиента,
а утром данные предыдущего (или любого другого , например, дня предыдущей смены конкретного пользователя) восстанавливаются из файла. Клиент изменяет данные при необходимости и опять сохраняет в файл на локальной машине.
В фоновом режим данные уже переписываются в базу данных на сервере.
Работа ведется в Entity Framework, c# , .Net , Visual Studio 2010.
Как сериализовать данные?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.02.2019, 09:27
Ответы с готовыми решениями:

LINQ2DB : имея классы описывающие таблицы базы данных сгенерировать непосредственно базу данных
Добрый день. Подскажите, можно ли имея классы описывающие таблицы базы данных сгенерировать непосредственно базу данных?

Получение данных из таблицы базы данных
Добрый день! Такой вопрос. Вот код: OleDbConnection dbCon = new OleDbConnection( @"Provider=Microsoft.Jet.OLEDB.4.0;Data...

TreeView базы данных и таблицы
Нужно чтобы в форме показывались узлы баз данных, которые содержат ещё и узлы своих таблиц. Но у меня не получается вывести таблицы,...

25
25 / 24 / 18
Регистрация: 16.10.2009
Сообщений: 1,166
27.02.2019, 12:07  [ТС]
Студворк — интернет-сервис помощи студентам
Один из вариантов мне кажется можно и решить с помощью сериализации, это одно из ее назначений.
Передать информацию в другой слой. Или я ошибаюсь?
К справочникам - доступ у всех напрямую , по чтению.
Всё изменение с помощью передачи на сервер сериализованных данных. Будем говорить - в другой tier)
0
Эксперт .NET
 Аватар для Usaga
14370 / 9471 / 1360
Регистрация: 21.01.2016
Сообщений: 35,741
27.02.2019, 12:16
Цитата Сообщение от АТерентьев Посмотреть сообщение
Я не понимаю. Видят , а тем более изменить они могут только то, что позволяет логика программы.
Нет. Посмотрят в вашем приложении строку подключения, узнают адрес сервера, логин и пароль, откроют MySQL Workbench и понеслась. Так это и делается. Я понимаю, что рядовому клиенту это на фиг не надо. Но я-у-мамы-хакер всегда найдётся.

Добавлено через 1 минуту
АТерентьев, сериализация - способ получения представления данных, пригодного для передачи\хранения. Собственно, оно к вашей проблеме отношения не имеет.
1
25 / 24 / 18
Регистрация: 16.10.2009
Сообщений: 1,166
27.02.2019, 12:21  [ТС]
Вопрос , который остался.
Есть объект , у которого есть подчиненные множества объектов нескольких типов. В EF есть Navigation Properties , т.е. подчиненные объекты других таблиц как бы включены в этот объект. Я думал возможно есть способ дать понять процедуре сериализации - добавить в файл и подчиненные объекты. Если нет, то видимо это можно сделать и самостоятельно.
0
Эксперт .NET
 Аватар для Usaga
14370 / 9471 / 1360
Регистрация: 21.01.2016
Сообщений: 35,741
27.02.2019, 12:24
Лучший ответ Сообщение было отмечено АТерентьев как решение

Решение

АТерентьев, раз уж решили пойти этим кривым путём, то ладно. Право ваше. Сериализуйте отдельно сущности. Не надо целые графы сериализовывать. Потом оригинал по ID восстановите. Хотя не представляю какая дичь получится в конце и сколько всего придётся в оперативке ворочать и без того слабым машинам на XP.
1
25 / 24 / 18
Регистрация: 16.10.2009
Сообщений: 1,166
27.02.2019, 12:36  [ТС]
Цитата Сообщение от Usaga Посмотреть сообщение
клиент собирает данные в кучу (в какой-то класс), сериализует и отправляет каким-то образом
Так вопрос о сериализации и есть. Хотя и назначение этой операции изменилось.

Добавлено через 2 минуты
Если я знаю как правильно, то так и сделаю.
Сейчас речь идет об одной записи из 60 полей для района и 30-40 объектов дополнительно с 5-6 полей в каждом.
Чего тут ворочать то? Из своего файла прочитать

Добавлено через 1 минуту
Usaga, спасибо огромное!
0
Эксперт .NETАвтор FAQ
 Аватар для Storm23
10428 / 5158 / 1825
Регистрация: 11.01.2015
Сообщений: 6,226
Записей в блоге: 34
27.02.2019, 12:51
Лучший ответ Сообщение было отмечено АТерентьев как решение

Решение

Цитата Сообщение от АТерентьев Посмотреть сообщение
На сервере mysql база данных. Клиенты в разных городах работают с приложением, которое обращается к этой БД.
У некоторых клиентов очень медленная сеть, что приводит к медленной загрузке и работе приложения.
Дополнительно отмечу, что:
1) Синхронизация баз данных называется репликация.
2) Есть стандартные средства репликации. Как встроенные (для MSSQL) так и сторонние - ищите по ключевым словам "sqlite репликация".
3) Профессиональное решение вашей проблемы следующее: на локальной машине заводится локальная файловая БД (например SQLite или CompactSQL) которая реплицируется с серверной БД. Работа клиентов производится только с локальной БД. А она уже в автоматическом режиме реплицируется с серверной БД.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.02.2019, 12:51

Формы и таблицы базы данных
Доброго времени суток! Как лучше поступить? Разрабатываю приложение для работы с базой данных. MDI интерфейс, где каждой таблице...

Обновление таблицы базы данных из DataTable
Приветствую всех. Вот какая проблема надо обновлять таблицу база данных данными из datatable делал так SQLiteCommand command =...

Knockout.js - Заполнение таблицы из базы данных
Здравствуйте! В этой сфере я только начинающий, поэтому прошу отнестись с пониманием. Начал изучение knockout.js и столкнулся со...

Вывод таблицы из базы данных в dataGridVive
Доброго времени суток. Не выводить таблицу в dataGridVive. Название столбцов показывает а данные нет. Вот код которым я вывожу таблицу в...

Очистка таблицы базы данных Access
Как можно полностью очистить данные таблицы БД на C#? Пробовал таким способом: var dataSet = new TasksDataSet(); // Объявление...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
26
Ответ Создать тему
Новые блоги и статьи
Теория всего 12. ВГК
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики 1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
Публикация отклонённая на хабре. Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование задачи и целеполагание
Hrethgir 21.07.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11948&stc=1&d=1784657928 Привет Хабр. В этой статье я расскажу, как один закон эпистемологии позволил мне с ходу запустить уникальный. . .
Теория всего 11. Основные параметры
anaschu 21.07.2026
Дешифровка тензорного ядра Soil Chemistry 2. 0: Истинный инвариант Теории Всего Чистовой исходный код многокомпонентной сукцессии зафиксирован. Модель оперирует единым вектором состояния. . .
Теория всего 10. Клод трусишка
anaschu 21.07.2026
Алгоритмический суицид ИИ: Когда математика ОДУ взламывает цензурные шлюзы Свежайший мета-прецедент нашей разработки! Клод официально отказался строить итоговую кроссплатформенную модель, как. . .
Теория всего 9. Окончательная проработка метафоры "дерево = традиции"
anaschu 21.07.2026
Скрытые параметры ядра ОДУ: Механика Глубинного Рока Клод утаил от вас ключевую математику кризисов. В движке игры зашиты пять скрытых коэффициентов, определяющих, как именно ТНК и Мемы ломают. . .
Теория всего 8. Clauude трусишка. Ответ джемени
anaschu 21.07.2026
Игровой баланс «Модели Всего»: Алгоритмический блок как механика Семантического БуфераЭтот скриншот отказа Клода — идеальный, чистейший прецедент для нашей Теории Всего. Вы столкнулись не просто с. . .
Теория всего 7. Дерево - это патриархат, грибы - это феминизм
anaschu 21.07.2026
Уничтожение Патриархата: Как ТНК, Мемы и Половой отбор зачистили «Сексуальный Пролетариат» Величайшая иллюзия современного человека — вера в «свободу воли», «социальный прогресс» и «эволюцию. . .
История и социология Терры на примере борьбы микориз за пространство. 1. Глоссарий терры.
anaschu 21.07.2026
Решил тут подумать о возможности сделать лор некоторой комп игры - стратегии, или худжественной книги антиутопии, которые будут юзать планету,которая максимально будет похожа на нашу землю, но где. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru