首先我们看看换行的代码 。
<% for (int i = 0; i < SourceTable.Columns.Count; i++) { %>
<%= GetSqlParameterStatement(SourceTable.Columns[i]) %><% if (i < SourceTable.Columns.Count - 1) { %> ,<% } %>
<% } %>
显示结果:
@OrderID int(4) ,
@CustomerID nchar(5) ,
@EmployeeID int(4) ,
@OrderDate datetime(8) ,
@RequiredDate datetime(8) ,
@ShippedDate datetime(8) ,
@ShipVia int(4) ,
@Freight money(8) ,
@ShipName nvarchar(40) ,
@ShipAddress nvarchar(60) ,
@ShipCity nvarchar(15) ,
@ShipRegion nvarchar(15) ,
@ShipPostalCode nvarchar(10) ,
@ShipCountry nvarchar(15)
我们再来看看如何让它不换行。
<% for (int i = 0; i < SourceTable.Columns.Count; i++) { %>
<%= GetSqlParameterStatement(SourceTable.Columns[i]) %><% if (i < SourceTable.Columns.Count - 1) { %> ,<% } %><% } %>
显示结果:
@OrderID int(4) , @CustomerID nchar(5) , @EmployeeID int(4) , @OrderDate datetime(8) , @RequiredDate datetime(8) , @ShippedDate datetime(8) , @ShipVia int(4) , @Freight money(8) , @ShipName nvarchar(40) , @ShipAddress nvarchar(60) , @ShipCity nvarchar(15) , @ShipRegion nvarchar(15) , @ShipPostalCode nvarchar(10) , @ShipCountry nvarchar(15)
发现区别了没有,就是在模版代码的最后一个括号,如果是换行写括号,那么生成的代码,括号就换行,如果没有换行写括号,那么生成的代码就没有换行。
由此,我们也得出了一个结论,在CodeSmith中,生成的代码是依据模版代码的格式的,模版代码是什么格式生成出来的代码就是什么格式,不需要有那些C#的转义字符来定义格式。
发表于 @ 2007年10月24日 15:17:00|评论(loading...)|编辑