<%@ CodeTemplate Language="C#" TargetLanguage="C#" Debug="False" Description="Template description here." %> <%@ Property Name="SourceTable" Type="SchemaExplorer.TableSchema" Category="Context" Optional="True" Description="the table name" %> <%@ Assembly Name="SchemaExplorer" %> <%@ Import Namespace="SchemaExplorer" %> <%@ Assembly Name="CodeSmith.BaseTemplates" %> <%@ Import Namespace="CodeSmith.BaseTemplates" %> <%@ Assembly Name="CodeSmith.CustomProperties" %> <%@ Import Namespace="CodeSmith.CustomProperties" %> <%@ Map Name="CSharpAlias" Src="System-CSharpAlias" %> <%for(int i=0; i<this.SourceTable.Columns.Count;i++){%> private <%=CSharpAlias[this.SourceTable.Columns[i].SystemType.FullName]%> _<%=this.SourceTable.Columns[i].Name%>; <%}%> <%for(int i=0; i<this.SourceTable.Columns.Count-1;i++) { int namelength=this.SourceTable.Columns[i].Name.Length; string colName=this.SourceTable.Columns[i].Name;%> /// <summary> /// /// </summary> public <%=CSharpAlias[this.SourceTable.Columns[i].SystemType.FullName]%> <%=colName.Substring(0,1).ToUpper()%><%=colName.Substring(1,colName.Length-1)%> { get {return _<%=this.SourceTable.Columns[i].Name%>;} set {_<%=this.SourceTable.Columns[i].Name%>=value;} } <%}%> <%string colName2=this.SourceTable.Columns[this.SourceTable.Columns.Count-1].Name; %> /// <summary> /// /// </summary> public <%=CSharpAlias[this.SourceTable.Columns[this.SourceTable.Columns.Count-1].SystemType.FullName]%> <%=colName2.Substring(0,1).ToUpper()%><%=colName2.Substring(1,colName2.Length-1)%> { get {return _<%=this.SourceTable.Columns[this.SourceTable.Columns.Count-1].Name%>;} set {_<%=this.SourceTable.Columns[this.SourceTable.Columns.Count-1].Name%>=value;} }
本文介绍了一个使用C#编写的代码模板生成器,该生成器可以根据指定的数据表结构自动生成对应的C#类属性及公开的getter和setter方法。通过引入多个命名空间并定义特定的属性映射规则,该模板能够简化开发过程并提高代码的一致性和可维护性。
107

被折叠的 条评论
为什么被折叠?



