Step 3 从实体设计代码生成实体代码、实体配置文件和数据库生成脚本
3.1 至此,所有的实体的设计就扩展完毕了。编译EntityDesigns工程。
3.2 运行dist目录中的NBear.Tools.EntityDesignToEntity.exe工具,载入EntityDesigns工程编译生成的EntityDesigns.dll。
3.3 点击Generate Entities按钮,将生成的代码保存到Entities工程中的一个名叫Entities.cs的新代码文件。
3.4 点击Generate Configuration按钮,将生成的代码保存到website工程下的名为EntityConfig.xml的文件中。
3.5 点击Generate DB Script按钮,将生成的代码保存到website工程下的名为db.sql的文件,可以在某个新建的SQL Server数据库中执行这些脚本,创建对应于所有实体的数据库脚本。对于本教程而言,建议使用SQL Server 2000的查询分析器,在tempdb数据库中执行db.sql中的脚本。
Step 4 使用Gateway进行查询
4.1删除website工程中的Default.aspx.cs文件中原来的代码,参考tutorials\ ORM_Adv_Tutorial\website目录下的Default.aspx和Default.aspx.cs,创建Default.aspx。这些代码演示了Gateway类的大多数强类型查询方法的使用。关于Gateway支持的更多方法的介绍,可以参考doc目录下的SDK类库文档。
4.2 运行以上代码,在输出文本框内,您将得到详细的SQL调试信息及相关说明。
在运行结果中,大家可以注意比较以“TEXT 内容”格式出现的SQL日志,这些日志显示了何时,NBearV3的强类型查询在内部执行了什么样的SQL查询。
有两个地方需要特别留意比较的,一个是BatchUpdate后非BatchUpdate方式下的Save和Delete时,实际执行的SQL语句;另一个是,注意LazyLoad=true和LazyLoad=false的属性,载入的时机的不同。