Вот мои 2 цента на разные варианты для этого:
Инструменты сторонних разработчиков. Вероятно, самый простой способ выполнить эту работу - создать пустую базу данных на более низкой версии, а затем использовать сторонние инструменты читать резервную копию и синхронизировать новую созданную базу данных с резервной копией.
Красные ворота являются одними из самых популярных, но есть много других, таких как ApexSQL Diff , ApexSQL Data Diff , Адепт SQL , Идера .... Все это - превосходные инструменты, но вы можете выполнить задание в пробном режиме;)
Создание скриптов: как уже упоминалось, вы всегда можете создавать структуру и данные сценария с помощью SSMS, но вам нужно учитывать порядок исполнения. По умолчанию объектные скрипты не упорядочены правильно, и вам придется позаботиться о зависимостях. Это может быть проблемой, если база данных большая и имеет много объектов.
Мастер импорта и экспорта: это не идеальное решение, поскольку оно не будет восстанавливать все объекты, а только таблицы данных, но вы можете это рассмотреть для быстрых и грязных исправлений, когда это необходимо.
открытые статические поля только для чтения
немного необычно; общедоступные статические свойства
(только с get
) будут более распространенными (возможно, при поддержке частного частного статического поля только для чтения
).
const
значения сжигаются непосредственно в колл-сайт; это обоюдоострый:
Я предпочитаю использовать const всякий раз, когда могу, что, как упоминалось выше, ограничено литералом выражения или что-то, что не требует оценки.
Если я столкнусь с этим ограничением, то вернусь к статическому считыванию только с одним предупреждением. Как правило, я бы использовал общедоступное статическое свойство с геттером и резервным частным полем private static readonly , как отмечает Марк здесь .
Следует отметить, что const ограничен типами примитивов / значений (исключение составляют строки )
const int a
readonly int a
Я бы использовал static readonly
, если Consumer находится в другой сборке. Наличие const
и Consumer в двух разных сборках - хороший способ выстрелить себе в ногу .