воскресенье, 26 апреля 2015 г.

Microsoft SQL Server Data Tools

В данной статье хотел бы рассказать про набор полезных дополнений к Visual Studio, которые могут в значительной мере облегчить разработку баз данных на основе MS SQL Server.

Основными преимуществами использования SSDT я бы выделил следующее:

  • возможность простого изменения (refactoring) схемы базы (можно переименовать колонку таблицы и все Views, Functions и Stored Procedures ссылающиеся на неё автоматически будут исправлены для отражения изменений)
  • создание юнит тестов для базы данных
  • хранение структуры базы данных в Source Control
  • сравнение схемы/данных c возможностью генерации скрипта для приведения схемы/данных к требуемому состоянию

Безусловно на этом плюсы использования SSDT не заканчиваются, но остальное не так сильно впечатляет, как то, что упомянуто выше. Если вас интересует, как воспользоваться этими и другими преимуществами — прошу под кат.

вторник, 7 апреля 2015 г.

Не пора ли написать код, который будет писать код (CodeDOM)

Думаю мало кто удивится, узнав, что существует множество способов авто-генерации кода. Это code-behind файлы, которые любезно создаёт Visual Studio, это T4 шаблоны, которые позволяют упростить генерацию однотипных файлов. Так же есть ряд способов на этапе исполнения программы динамически определить логику работы (System.Reflection.Emit namespace или Expression Trees). Но сегодня я хотел бы рассказать о другом подходе – CodeDOM.

В данной статье я покажу 2 примера:

  1. Как динамически создать программу “Hello World”. В результате у нас будет *.cs файл и скомпилированная программа, которую мы запустим.
  2. На базе уже имеющегося кода из примера 1 мы увидим как просто сделать генерацию DTO классов на основе схемы имеющейся базы данных.