Всем доброго, не могу понять, вот есть у меня БД MS SQL LocalDb, работаю с ней по средствам заранее созданной модели, в процессе работы программы необходимо добавить столбец в таблицу... как это правильно реализовать?
А что вы понимаете под "на лету"? Реакция на некое действие пользователя? Для 99,9% случаев - такое поведение не нужно. Нужно чуть чуть пересмотреть задачу и сделать без добавки столбцов. БД - вещь в высокой степени статичная должна быть. Исходя из этого можно заниматься ее оптимизацией работы.
Ну а если вы хотите накатывать обновления без остановки приложения, то банального ALTER TABLE вам должно хватить.
Спасибо! У меня следующая задача: есть программа, в ней дерево параметров, дерево очень большое до 1000 узлов. В режиме редактирования можно выбрать какой из параметров будет записываться в бд - это делает пользователь. Запись в бд происходит по таймеру (это некий архив получается). Не могу понять как быть, не создавать же для каждого параметра отдельную таблицу?
VigVam: Дерево можно описать совершенно простенькой таблицей - id элемента, parentId - ссылка на корневой элемент( NULL для самого верхнего) value. Сложнее его разворачивать и отрисовывать. Но добавлять новые поля это совершенно не вариант.
C SQL базой правильно такого не делать. В смысле - не изменять схему SQL базы данных по запросам пользователя. Нужно подумать, почему возникает такая необходимость, возможно часть данных нужно хранить в документно-ориентированной БД.