Изменение имен созданных файлов в T4 - PullRequest
1 голос
/ 20 сентября 2011

Есть ли в любом случае, что я могу изменить имена файлов, сгенерированных T4 с Entity Framework Model First

Я попытался изменить расширение вывода на это:

<#@ output extension=".Generated.cs"#>

, который изменил имя файла Model1.cs на Mode1.Generated.cs, но все мои сущности все еще находятся в файлах с именами category.cs, Issue.cs и т. Д. Я хочу, чтобы классы сущностей еще назывались:

Category
Issue
..

но содержащие файлы, чтобы следовать шаблону именования:

Category.Generated.cs
Issue.Generated.cs
...

1 Ответ

2 голосов
/ 20 сентября 2011

Установка выходной директивы настроит только основной файл, сгенерированный шаблоном.Шаблоны T4 с пользовательским инструментом по умолчанию генерируют только один файл.Эти шаблоны EF самостоятельно обрабатывают несколько файлов, поэтому вы должны посетить код T4 и искать такие фрагменты, как:

// Emit Entity Types
foreach (EntityType entity in ItemCollection.GetItems<EntityType>().OrderBy(e => e.Name))
{
    fileManager.StartNewFile(entity.Name + ".cs");
    ...

и

foreach (ComplexType complex in ItemCollection.GetItems<ComplexType>().OrderBy(e => e.Name))
{
    fileManager.StartNewFile(complex.Name + ".cs");

Изменяйте имена запускаемых файлов по мере необходимости.

...