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);
        }