Open ASantos007 opened 7 years ago
Hello :)
I want to create multiple files through multi projects as faster as it is possible. My code (in Generator.tt) is:
`foreach (var xmlFile in xmlFiles) { var xml = XDocument.Load(xmlFile);
XmlSerializer serializer = new XmlSerializer(typeof(Entity)); Entity result = null; using (TextReader reader = new StringReader(xml.ToString())) { result = (Entity)serializer.Deserialize(reader); } this.entityTemplate.entity = result; this.entityTemplate.Output.Project = @"C:\@Work\MdaPoc\MdaPoc\MdaPoc.Entities\MdaPoc.Entities.csproj"; this.entityTemplate.RenderToFile(String.Format(@"gen\{0}.cs", result.Name)); this.modelTemplate.entity = result; this.modelTemplate.Output.Project = @"C:\@Work\MdaPoc\MdaPoc\MdaPoc.Models\MdaPoc.Models.csproj"; this.modelTemplate.RenderToFile(String.Format(@"gen\{0}ViewModel.cs", result.Name)); this.modelMapperTemplate.entity = result; this.modelMapperTemplate.Output.Project = @"C:\@Work\MdaPoc\MdaPoc\MdaPoc.MVC\MdaPoc.MVC.csproj"; this.modelMapperTemplate.RenderToFile(String.Format(@"Models\gen\{0}Mapper.cs", result.Name)); this.dataBaseTableTemplate.entity = result; this.dataBaseTableTemplate.Output.Project = @"C:\@Work\MdaPoc\MdaPoc\MdaPoc.Database\MdaPoc.Database.sqlproj"; this.dataBaseTableTemplate.RenderToFile(String.Format(@"Tables\gen\{0}.Table.sql", result.Name)); this.dataBaseProcedureTemplate.entity = result; this.dataBaseProcedureTemplate.Output.Project = @"C:\@Work\MdaPoc\MdaPoc\MdaPoc.Database\MdaPoc.Database.sqlproj"; this.dataBaseProcedureTemplate.RenderToFile(String.Format(@"Procedures\gen\{0}.Procedure.sql", result.Name)); }`
Are there any better way to create those all templates (entityTemplate, modelTemplate, modelMapperTemplate, dataBaseTableTemplate, dataBaseProcedureTemplate)? Create them asynchronously, for exemple?
I think what you have in the example is the "right way". There is no async support in the T4Toolbox API today.
Hello :)
I want to create multiple files through multi projects as faster as it is possible. My code (in Generator.tt) is:
`foreach (var xmlFile in xmlFiles) { var xml = XDocument.Load(xmlFile);
Are there any better way to create those all templates (entityTemplate, modelTemplate, modelMapperTemplate, dataBaseTableTemplate, dataBaseProcedureTemplate)? Create them asynchronously, for exemple?