使用NHibernate时,是否应该在地图文件之前创建数据库表?

时间:2009-08-20 21:12:55

标签: nhibernate nhibernate-mapping

简单的问题,希望有一个简单的答案。我的印象是我应该创建表格,然后使用地图文件将我的POCO类映射到数据库对象。在学习了一些教程后,我在Test SetUp中有了这段代码:

 new SchemaExport(_configuration).Execute(false, true, false, false);

显然,创建映射中定义的表结构,所以我很困惑。

2 个答案:

答案 0 :(得分:1)

最好只有一个地方可以更改,在你的情况下,你在课程中进行更改,你的数据库会自动更新 - 你还期望更好吗?

有时您为现有数据库编写新代码,因此您必须先创建(或拥有)数据库,然后需要手动准备映​​射。

编辑:  我正在使用Fluent NHibernate,所以这可以完全自动完成,不确定在不同的环境中。

答案 1 :(得分:1)

您需要SchemaExport的映射文件。

理想情况下,您首先编写/设计类,然后编写映射文件。编写映射文件时,您正在同时设计数据库表。 SchemaExport只是从映射文件创建模式,其中通常可以获得所有信息。

SchemaExport非常值得推荐,即使它在文档中有点“隐藏”。