CodeSmith是一款优秀的代码生成工具。在ORM中,它能帮助我们生成实体类、XML配置文件,从而简化了我们一部分的开发工作。下面简要说说它的基本用法。
背景概述:下面示例用的是SQLServer2005Express数据库。另外:还需生成实体类所需的NHibernate.cst等文件,下载地址为(http://files.cnblogs.com/abluedog/nhibernate_template.rar)。
步骤如下:
1.开启CodeSmith后,打开Schema Explorer(架构浏览器窗口)。如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/c5091af115e33b176aa7f1a88d6a6240.jpeg)
注:若初次使用本软件,则默认有一个PetShop数据库。上图所显示的则是我新建的名称Test的示例。(Test是我自己在使用CodeSmith时命名的,而非要映射到的实际数据库名。)
2.将生成实体类所需的cst文件添加进来到Template Explorer中。操作如下:点击下图中打开的文件夹【鼠标放上去的提示”Create Template folder Shortcut“】,将模板文件添加进来。如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/ff0e426a8ba8e7822d05190bb9774b69.jpeg)
3.点击上图中右侧图标(Manage Data Sources)打开Data Source Manager.如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/e4e748eda4a35d676c7093f3ab06a22d.jpeg)
4.点击“Add”按钮,增加新数据库。出现如下图所示的Data Source窗口:
![](https://i-blog.csdnimg.cn/blog_migrate/72a8b602a3f46454b6745b42d6311196.jpeg)
5. 填写Name、Provirder Type 、Connection String。填写的Name就如同上面第一个图中显示的DataBase中Test,Provirder Type为数据库的类型。连接字符串也可以点击右侧的“...”按钮进行配置。配置界面如下:
![](https://i-blog.csdnimg.cn/blog_migrate/10ce6664098ff32afe18c1eee77687cb.jpeg)
本例为SqlServer2005.填写完后如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/86aee61f9c16efb2e13fd5405e5b34ce.jpeg)
用户也可以点击“Test”按钮进行测试填其正确性。
6.右击Template Explorer(模板浏览器),下的nhibernate_template中的nhibernate.cst文件,选择Excute出现下图窗口:
![](https://i-blog.csdnimg.cn/blog_migrate/5c89c98441530493974888dfd73ec287.jpeg)
Class下的OutputDerectory:即生成的实体类的路径,SourceDatabase即上面填写的Name、Provier Type 、Connection String 中的Name。Assembly即
生成文件的默认程序集名称。NameSpace即为实体类的命名空间。另外:ForceId默认为True就行(如果表中的ID为主键)。它的作用是强制NHibernateSample所表示的数据库的所有表需要有主键(是否是自增我没有测试过)。RemoveTablePrefix,看意思即是一处表的前缀,这里我把它删除了。它更具体的作用我没有深入研究。
7.点击下面“Genrate”按钮,即是制定的目录下生成了实体类(本例为D:\CodeSmith)。
8.若你是使用NHibernate作为你ORM的选择,你还需在生成的实体类前加上virtrue,否则程序会报错。
大体过程就这些。也比较简单。希望对初次使用的朋友有所用。另外,有些图不是很会截取,所以图片不太完整(比如若右击Nhibernate.cst显示的菜单的图),不过我能截的我都尽力截了。大家就凑合着看看吧!相信你们的悟性比我要高。哈哈!
转载于:https://blog.51cto.com/yerik/1076424