public void Generate(EntityType entity, string projectPath) { string templateText = ModelGeneratorResource.ModelTemplate; var template = Template.Parse(templateText); var result = template.Render(new { EntityName = entity.Name, entity.Properties, NavProperties = entity.NavigationProperties, IsUserEntity = entity.NavigationProperties.Any(p => p.Name == "ApplicationUser" && p.Multiplicity == "1") }); result = ArrangeUsingRoslyn(result); var csu = new CodeSnippetCompileUnit(result); var fileName = $"{entity.Name}.cs"; var folderName = "Models"; var absolutePath = Path.Combine(projectPath, folderName); GenerateCSharpCode(fileName, absolutePath, csu); var relativePath = Path.Combine(folderName, fileName); proj.AddToItemGroup(relativePath); }