目的:测试XCode v8.0的正常反向功能。
正向工程:从数据库读取架构信息,生成实体类。
反向工程:根据实体类的特性构造架构信息,反向生成数据库或者修改数据库。
准备工作:
1,自备数据库实例,最好是自己的数据库,为了测试各种数据库的各种字段能否被识别为正确的.Net类型(正向工程),同时也测试.Net类型能否正确转为对应的数据库类型(反向工程)。(支持MSSQL、Access、SqlCe、SQLite、MySql、Oracle、PostgreSQL、Firebird)
2,最新的XCoder v4.2一份
开始:
1,在XCoder.exe.config中配置连接字符串,如果没有这个文件,运行一次XCoder即可自动生成。XCoder能自动发现本机MSSQL,本目录Access和SQLite。
2,启动后的主界面。连接那里下拉选择的就是前面配置的连接。检查模版那里是否有模版可选择。
3,选择要测试的连接字符串,点“连接”。此时XCoder通过XCode取得数据库架构,拿到了所有表信息,并在数据表那里列出来。
4,先备份一下架构信息,留后面使用。
5,选择“实体”模版,点击“生成所有表”,0.3秒即可生成12个实体类。点击“打开目录”可以直接看到。
6,新建一个控制台项目,引用NewLife.Core.dll和XCode.dll(可以从代码生成器里面拿到)。并把刚才生成所有实体类拷贝进去。
7,再添加一个应用配置App.Config。加上一些配置信息。我们生成实体类的时候,设置了连接名为Common,这个配置文件里面本应该配置一个名为Common的连接,但是我们通过XCode的连接名映射功能把Common这个连接名映射到别的连接名上去。
8,写几句代码试一试。
9,修改连接字符串,开始测试反向工程。
10,重新启动程序。运行结果没什么变化,只是慢了一点点。其实,这是因为我们指定了一个并不存在的数据库Common888,同时配置文件里面打开了反向工程的开关XCode.Schema.Enable,XCode自动创建数据库和数据表。
11,检查一下数据库里面的字段,看看字段类型是否与本来的数据库类型一致。同时检查索引是否能够正确创建。
12,测试不同数据库间的兼容性。比如从MSSQL生成实体类,然后反向工程生成到SQLite中去。这方面可以多做几个测试。测试人员之间也可以互相交换数据库架构信息(第4步导出),用XCoder导入也可以生成实体类。
XCode的类型对应基于ADO.Net,但是大量存在一种.Net类型对应多种数据库类型的情况,我们只能做很小的一部分测试,不能保证各种类型的字段都能得到正确识别。
各个需要附加DLL的数据库提供者,会自动下载!
目前XCode对各个数据库的兼容性情况排名:MSSQL2008/2005》MSSQL2000》Access》SQLite》Oracle》MySql》SqlCe》PostgreSQL》Firebird,越是后面,可能存在的问题就越多。
至于正向反向工程以外的问题,可以通过把项目指定到不同类型的数据库上进行测试。
测试过程中遇到的各种问题,在群里反馈,实时修正各种BUG。
测试相关资料下载地址: