// #endregion Enums
 // #region interfaces
 protected void RenderInterface(StringBuilder sb, TypeDefinitionItem item)
 {
     sb.AppendLine($"public interface {item.Name}");
     sb.AppendLine(this.ScopeStart);
     item.Fields.ForEach(field => this.RenderInterfaceField(sb, field));
     sb.AppendLine(this.ScopeEnd);
 }
 protected void RenderTypeImplements(StringBuilder sb, TypeDefinitionItem item)
 {
     if (item.InterfaceKeys.Count > 0)
     {
         sb.Append($" : {string.Join(", ", item.InterfaceKeys)}");
     }
     sb.AppendLine();
 }
 // #endregion interfaces
 // #region Type
 protected void RenderType(StringBuilder sb, TypeDefinitionItem item)
 {
     sb.Append($"public class {item.Name}");
     RenderTypeImplements(sb, item);
     sb.AppendLine(this.ScopeStart);
     item.Fields.ForEach(field => this.RenderTypeField(sb, field));
     sb.AppendLine(this.ScopeEnd);
 }
 protected void RenderDbcontextSet(StringBuilder sb, TypeDefinitionItem item)
 {
     sb.AppendLine($"  public DbSet<{item.Name}> {item.Name.Pluralize(true)} {{ get; set; }}");
 }