在上一篇文章《 orm利器:nhibernate(一)简介》,我们对nhibernate做了简要介绍,接下来的系列文章将以demo的形式和大家分享使用nhibernate的初步使用。 一 codesmith简介 本文以表 自动生成nhibernate的映射文件和映射类的实例 来说明一下本软件的使用方
在上一篇文章《 orm利器:nhibernate(一)简介》,我们对nhibernate做了简要介绍,接下来的系列文章将以demo的形式和大家分享使用nhibernate的初步使用。
一 codesmith简介
本文以表自动生成nhibernate的映射文件和映射类的实例来说明一下本软件的使用方法。
codesmith是一种基于模板的代码生成工具,其使用类似于asp.net的语法来生成任意类型的代码和文件。使用 codesmith,可以生成包括简单的强类型集合和完整应用程序在内的任何东西。(弱类型-没有明显的类型,会随着环境的不同自动变换类型;强类型-在声明时规定其数据类型,保证类的安全,虽然系统也有一定的默认转换,但是没有弱类型那么随便)
当您生成应用程序时,您经常需要重复完成某些特定的任务,例如编写数据访问代码或者生成自定义集合。codesmith 在这些时候特别有用,因为您可以编写模板自动完成这些任务,从而不仅提高您的工作效率,而且能够自动完成那些最为乏味的任务。codesmith 附带了许多模板,包括对应于所有 .net 集合类型的模板以及用于生成存储过程的模板,但该工具的真正威力在于能够创建自定义模板。
二 软件下载
1、下载codesmith代码辅助生成器
本文使用codesmith6.5.0完美破解版,并安装。
2、下载nhibernate template的一个组件
因为因为我要生成的是nhibernate的映射文件和类,但本软件没有自带,因此需要下载nhibernate_template的一个组件,如下图所示:
(三)操作过程
0、利用sqlserver2008建立nhibernate数据库,表person,结构如下:
1、利用codesmith生成nhibernate的映射文件和映射类
单击nhibernate.cst文件,如图所示:
outputdireatory:文件输出路径
sourcedatabase:需要读取的数据库文件
forceid:true强制数据库nhibernate中的所有表都需要有主键。
namespace:命名空间
removetableprefix:默认
选择相应的数据库-add
配置数据库连接信息后,进行测试testconnection:
因为我们操作的是sqlserver2008数据库,所以这里选择sqlschemaprover。如果你使用的是其它数据库,可以自行选择。
可以看到自动生成链接字符串
最后单击generate按钮,会自动生成映射文件和映射类,如图所示:
3、分析person.hbm.xml
通过查看自动生成的映射文件person.hbm.xml,来看一下:对象是如何和表建议映射关系的:
这就是由表自动生成nhibernate的映射文件和映射类(就是我们曾手写的entity)的大致的使用方法,是不是很简单呀?!省去了很多人工的工作量。
接下来的文章,将会在nhibernate的使用教程的demo中用到生成的person映射文件和映射类,敬请期待!