Ninject и MVC Строительные леса - PullRequest
1 голос
/ 29 ноября 2011

Я пытаюсь настроить шаблон MVC Scaffolding T4 для репозитория, чтобы он создавал привязки Ninject в моем классе App_Start \ NinjectMVC3.cs.

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

Любойсделал что-нибудь подобное?Также я думаю, что разделение хранилища и его интерфейса на отдельные файлы было бы удобно.

Спасибо

1 Ответ

1 голос
/ 29 ноября 2011

Если вам нужно создать файл класса, отличный от исходного шаблона T4, я думаю, что лучше создать новый шаблон для этой цели. Если вы хотите сохранить файл в tempalte, вы можете создать файл с помощью библиотеки Syste.IO:

<#@ import namespace=“System.IO” #>

<#+
  void SaveOutput(string outputFileName)
  {
      string templateDirectory = Path.GetDirectoryName(Host.TemplateFile);
      string outputFilePath = Path.Combine(templateDirectory, outputFileName);
      File.WriteAllText(outputFilePath, GetMyContent()); 
  }
#>
<#+
  string GetMyContent()
  {
      // clean the environment 
      this.GenerationEnvironment.Remove(0, this.GenerationEnvironment.Length);
      #>
        This is my content
      <#+
      // return new content
      return this.GenerationEnvironment.ToString(); 
  }
#>

Вам необходимо разработать GetMyContent(), чтобы заполнить выходной файл правильным содержимым. В этом примере GetMyContent очищает среду каждый раз, поэтому не забывайте использовать метод SaveOutput после создания всех других файлов.

...