codesmith首字大写会自动删除掉下划线

用ToUpperCase()方法会自动删除下划线,比如 mytable_Id会变成 MyTableId,所以首字大写要自己写方法的:

 

<%@ CodeTemplate
 Language="C#"
 TargetLanguage="C#"
 ResponseEncoding="UTF-8"
 Src=""
 Inherits=""
 Debug="False"
 Description="Create C# Entity"
%>

<%@ Property Name="table" Type="SchemaExplorer.TableSchema" Optional="True" Category="Context" %>
<%@ Property Name="NameSpace" Type="System.String" Optional="False" Category="" Default="TY.Entity.DbTable" %>
<%@ Property Name="ClassName" Type="System.String" Optional="False" Category="" %>

<%@ Assembly Name="SchemaExplorer" %>
<%@ Import Namespace="SchemaExplorer" %>
<%
    //声明关键字段 : Primary Key 字段
 string idKey = table.PrimaryKey.MemberColumns[0].Name;
 
%>
<script runat="template">
private string OneToUpper(string str)
{
    return str.Substring(0,1).ToUpper()+str.Substring(1);
}
</script>
using System;
using System.Collections.Generic;
using System.Text;

namespace <%= NameSpace %>
{
 [EntityAttribute(TableName="<%= OneToUpper(table.Name) %>", PrimaryKeyName="<%= OneToUpper(idKey) %>")]
 public class <%= ClassName %>
    {
  <%foreach(ColumnSchema col in table.Columns){ %>
  public string <%= OneToUpper(col.Name) %> ;
  <%}%>
    }
}

你可能感兴趣的:(codesmith首字大写会自动删除掉下划线)