Добавление свойств в шаблон Т4 – выбор сервера, базы данных, таблицы

StackOverflow https://stackoverflow.com/questions/538988

  •  22-08-2019
  •  | 
  •  

Вопрос

Близкие,

Я хотел бы создать несколько шаблонов T4 для генерации файлов классов (около 7 на таблицу) из базы данных для поддержки нашей собственной ORM (не спрашивайте - длинная история и исторические причины.....)

Что мне действительно хотелось бы сделать, так это иметь в моем основном шаблоне TT свойство, позволяющее визуально выбирать сервер, базу данных и таблицу, для которых будут создаваться файлы (что-то вроде средства выбора таблиц в CodeSmith).

Поскольку этого, похоже, не существует (или существует?), я решил, что следующий лучший вариант — использовать трехстрочное свойство для сервера, базы данных, имени таблицы и использовать SMO для подключения к этой таблице и получения необходимых мне данных столбца.

Я попробовал последовать примеру Олега Сыча и выдал:

<#@ property name="serverName" processor="PropertyProcessor" type="System.String" #>
<#@ property name="databaseName" processor="PropertyProcessor" type="System.String" #>
<#@ property name="tableName" processor="PropertyProcessor" type="System.String" #>

но как тогда мне ссылаться на эти свойства в моем блоке кода, который подключается к серверу, указанному с помощью SMO, для получения данных?

<#
    Server server = new Server();
    Database database = new Database(server, "DASECO_DEV");
    Table table = new Table(database, "T_User");
    table.Refresh();
#>

Я попробовал поставить <#= serverName #> внутри скобок конструктора Server() - но это не работает :-( Похоже, я здесь немного застрял......какой смысл иметь свойства, если я не могу оценить и использовать их значения!:-)

Есть желающие??

Марк

Это было полезно?

Решение

Как насчет этого?

<#    
    Server server = new Server(serverName);    
    Database database = new Database(server, databaseName);    
    Table table = new Table(database, tableName);    
    table.Refresh();
#>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top