Статическое чтение только против const

Вот мои 2 цента на разные варианты для этого:

Инструменты сторонних разработчиков. Вероятно, самый простой способ выполнить эту работу - создать пустую базу данных на более низкой версии, а затем использовать сторонние инструменты читать резервную копию и синхронизировать новую созданную базу данных с резервной копией.

Красные ворота являются одними из самых популярных, но есть много других, таких как ApexSQL Diff , ApexSQL Data Diff , Адепт SQL , Идера .... Все это - превосходные инструменты, но вы можете выполнить задание в пробном режиме;)

Создание скриптов: как уже упоминалось, вы всегда можете создавать структуру и данные сценария с помощью SSMS, но вам нужно учитывать порядок исполнения. По умолчанию объектные скрипты не упорядочены правильно, и вам придется позаботиться о зависимостях. Это может быть проблемой, если база данных большая и имеет много объектов.

Мастер импорта и экспорта: это не идеальное решение, поскольку оно не будет восстанавливать все объекты, а только таблицы данных, но вы можете это рассмотреть для быстрых и грязных исправлений, когда это необходимо.

1314
задан John Saunders 19 June 2015 в 15:33
поделиться

5 ответов

открытые статические поля только для чтения немного необычно; общедоступные статические свойства (только с get ) будут более распространенными (возможно, при поддержке частного частного статического поля только для чтения ).

const значения сжигаются непосредственно в колл-сайт; это обоюдоострый:

  • бесполезно, если значение выбирается во время выполнения, возможно, из config
  • , если вы меняете значение const,
921
ответ дан 19 December 2019 в 20:15
поделиться

Я предпочитаю использовать const всякий раз, когда могу, что, как упоминалось выше, ограничено литералом выражения или что-то, что не требует оценки.

Если я столкнусь с этим ограничением, то вернусь к статическому считыванию только с одним предупреждением. Как правило, я бы использовал общедоступное статическое свойство с геттером и резервным частным полем private static readonly , как отмечает Марк здесь .

12
ответ дан 19 December 2019 в 20:15
поделиться

Следует отметить, что const ограничен типами примитивов / значений (исключение составляют строки )

87
ответ дан 19 December 2019 в 20:15
поделиться

Следует отметить еще несколько важных моментов:

const int a

  • необходимо инициализировать.
  • инициализация должна происходить во время компиляции .

readonly int a

  • может использовать значение по умолчанию без инициализации.
  • инициализация может быть выполнена во время выполнения (Изменить: только в конструкторе).
197
ответ дан 19 December 2019 в 20:15
поделиться

Я бы использовал static readonly , если Consumer находится в другой сборке. Наличие const и Consumer в двух разных сборках - хороший способ выстрелить себе в ногу .

234
ответ дан 19 December 2019 в 20:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: