SchemaExport:根据实体类的配置文件生成数据库表


Warning: Undefined array key "HTTP_REFERER" in /www/wwwroot/prod/www.enjoyasp.net/wp-content/plugins/google-highlight/google-hilite.php on line 58
	先编写持久化类和映射文件,然后使用SchemaExport工具生成数据库架构。这样的方式就是领域驱动设计/开发。
好处:当领域模型需要改变,只需修改NHibernate结构和应用程序,不需要修改数据库架构,只要利用SchemaExport工具重新生成数据库架构就可以了。但是使用数据库只是其中一种方式,我们也可以使用XML文件来存储数据。

	NHibernate的hbm2dll提供SchemaExport工具:给定一个连接字符串和映射文件,不需输入其他东西就可以按照持久化类和映射文件自动生成数据库架构
SchemaExport工具就是把DDL脚本输出到标准输出,同时/或者执行DDL语句。SchemaExport工具提供了三个方法,分别是 Drop()、Create()、Execute(),前两个方法实质是调用Execute()方法。通常使用Execute()方法来生成数据库架构的。

如:      
	var cfg = new Configuration();

	cfg.Configure(); //自动寻找hibernate.cfg.xml文件读取数据库连接信息

	cfg.AddAssembly(typeof(Product).Assembly); //根据Product类查找Product.hbm.xml

	new SchemaExport(cfg).Execute(true, true, false);
	//第一个true输出sql创建语句到控制台,第二个用来先删除后创建