代码生成利器-NCodeGenerate 教程(4) CodeSmith模板转换
来源:互联网 发布:qq群地址优化 编辑:程序博客网 时间:2024/05/21 03:18
CodeSmith 是代码生成中应用最广的工具之一,具有丰富的模板资源和用户。很多朋友原来是用CodeSmith的,有很多现成的模板。NCodeGenerate提供了一个CodeSmith到NCodeGenerate 的模板转换工具。 让用户从CodeSmith转到NCodeGenerate更加方便一些。下面来介绍一下。
打开工具菜单-〉CodeSmith转换
在上面窗口中选择要转换的文件及输出的文件,点击转换就可以了。由于CodeSmith 和NCodeGenerate 模板中的一些概念不是能够完全对应,所以这种转换只有简单的结构和语法转换。还需要程序员自己进行调整才可以。
CodeSmith模板转换后NCodeGenerate 后的对应关系如下:
一. CodeTemplate 指令
例如:<%@ CodeTemplate Language="C#" Inherits="CsNHibernateHelper" Src="../Helpers/CsNHibernateHelper.cs" TargetLanguage="C#" Debug="False" Description="Generates a Business Object for NHibernate." %>
在NCodeGenerate 中没有对应的概念,转化为空的字符串。
二、Property
例如:<%@ Property Name="SourceTable" Type="SchemaExplorer.TableSchema" Optional="False" Category="1a. Source Table" Description="The source table to generate from." %>
在NCodeGenerate 中转换为Model类的一个属性。
public NCodeGenerate.DBSchema.TableSchema SourceTable {get;set;}
三、Assembly
例如:<%@ Assembly Name="SchemaExplorer" %>
在NCodeGenerate 中对应的事引用程序集。只要转换为空串就可以了,NCodeGenerate会自动处理程序集的。
四、Import Namespace
例如:<%@ Import Namespace="SchemaExplorer" %>
在NCodeGenerate 中对应命名空间的引用,转化为以下代码
@using NCodeGenerate.DBSchema;
五、script
例如:
<script runat="template">
模板中的所有的Script 中的代码都被提取出来存储为和转换目标文件名相同但后缀名为cs的代码文件。
并在模板中加入 对应的引用 @AssemblyFile 引用指令。
六、模板的<% %> 和 <%= %> asp.net 语法的代码
全部转换成 以@ 开头的Razor 格式的代码。
模板转换的功能就讲到这里了。祝大家新年快乐。
附: NCodeGenerate 新增了 NCodeGenerate.DBSchema 的文档,在下面的文档连接中。
附上下载地址:
NCodeGenerate.zip
文档:文档
NCodeGenerate 系列文章:
一、代码生成利器-NCodeGenerate 是什么?
二、代码生成利器-NCodeGenerate 教程(1) 遍历数据库内的所有表
三、代码生成利器-NCodeGenerate 教程(2) NCodeGenerate的代码公用之一
四、代码生成利器-NCodeGenerate 教程(3) 生成代码到文件.
五、 代码生成利器-NCodeGenerate 教程(4) CodeSmith模板转换
六、代码生成利器-NCodeGenerate 教程(5) 多种数据库的支持
- 代码生成利器-NCodeGenerate 教程(4) CodeSmith模板转换
- 代码生成利器-NCodeGenerate 教程(3) 生成代码到文件.
- 代码生成利器-NCodeGenerate 教程(8) 揭开Razor模板引擎的神秘面纱
- 代码生成利器-NCodeGenerate 是什么?
- 代码生成利器-NCodeGenerate 教程(2) NCodeGenerate的代码公用之一
- 代码生成利器-NCodeGenerate 教程(5) 多种数据库的支持
- 代码生成利器-NCodeGenerate 教程(6) 调试功能 NTrace 输出
- 代码生成利器-NCodeGenerate 教程(9) 数据类型映射Map功能
- 代码生成利器-NCodeGenerate 教程(1) 遍历数据库内的所有表
- 代码生成利器-NCodeGenerate 教程(7) 揭开调试功能 的神秘面纱
- CodeSmith 使用教程(15) 为Yii Framework 创建生成ActiveRecord的代码模板
- CodeSmith 使用教程(15) 为Yii Framework 创建生成ActiveRecord的代码模板
- CodeSmith模板生成
- CodeSmith模板生成
- CodeSmith 是一种基于模板的代码生成工具
- CodeSmith自动生成业务实体类的模板代码
- CodeSmith NetTier模板生成的代码框架用法
- C#"CodeSmith代码批量生成模板"制作经验分享
- Android HAL实例解析
- Linux系统使用命令
- 模板的全特化与偏特化
- Install Archlinux on Raspberry Pi as you wish!
- [Spring3.x源码]AOP(一)例子
- 代码生成利器-NCodeGenerate 教程(4) CodeSmith模板转换
- 全志A10的uboot启动不了," not definedot_normal
- 2440lcd
- APK更新时,发生<签名冲突>报错
- UVA 644 Immediate Decodability
- Linux那些事儿之我是Sysfs(2)linux设备底层模型
- Floyd(最短路径问题)
- 项目管理扫盲篇
- C中的volatile用法