我使用以下CodeSmith模板行生成NHibernate映射:
<column<%= ColumnNameAtt(column) %><%= ColumnLengthAtt(column) %><%= ColumnSqlTypeAtt(column) %><%= ColumnNotNullAtt(column) %><%= ColumnUniqueAtt(column) %><%= ColumnIndexAtt(SourceTable, column) %>/>
较新版本的CodeSmith Generator不再使用ColumnIndexAtt
方法生成索引引用。
旧的CodeSmith版本生成以下行:
<column name="id" length="4" sql-type="int" not-null="true" unique="true" index="PK_Accounts"/>
最新版本的CodeSmith Generator会像这样生成它:
<column name="id" length="4" sql-type="int" not-null="true" unique="true"/>
我在CodeSmith文档网站或代码参考上找不到有关ColumnNameAtt
或ColumnIndexAtt
函数的任何文档。我在这里找到了模板代码:https://github.com/raee/CodeSmith-Template/blob/master/CodeTemplate/Nhibernate/Nhibernate.hbm.cst。