设为首页 收藏本站
查看: 1348|回复: 0

[经验分享] 【求助】测试XCode v8.0的正向反向功能

[复制链接]

尚未签到

发表于 2016-11-22 07:54:34 | 显示全部楼层 |阅读模式
  目的:测试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。
DSC0000.png

  2,启动后的主界面。连接那里下拉选择的就是前面配置的连接。检查模版那里是否有模版可选择。
DSC0001.png

  3,选择要测试的连接字符串,点“连接”。此时XCoder通过XCode取得数据库架构,拿到了所有表信息,并在数据表那里列出来。
DSC0002.png

  4,先备份一下架构信息,留后面使用。
DSC0003.png DSC0004.png

  5,选择“实体”模版,点击“生成所有表”,0.3秒即可生成12个实体类。点击“打开目录”可以直接看到。
DSC0005.png

DSC0006.png

  6,新建一个控制台项目,引用NewLife.Core.dll和XCode.dll(可以从代码生成器里面拿到)。并把刚才生成所有实体类拷贝进去。
DSC0007.png

  7,再添加一个应用配置App.Config。加上一些配置信息。我们生成实体类的时候,设置了连接名为Common,这个配置文件里面本应该配置一个名为Common的连接,但是我们通过XCode的连接名映射功能把Common这个连接名映射到别的连接名上去。
DSC0008.png

  8,写几句代码试一试。
DSC0009.png

  9,修改连接字符串,开始测试反向工程。
DSC00010.png

  10,重新启动程序。运行结果没什么变化,只是慢了一点点。其实,这是因为我们指定了一个并不存在的数据库Common888,同时配置文件里面打开了反向工程的开关XCode.Schema.Enable,XCode自动创建数据库和数据表。
DSC00011.png

  11,检查一下数据库里面的字段,看看字段类型是否与本来的数据库类型一致。同时检查索引是否能够正确创建。
DSC00012.png

  12,测试不同数据库间的兼容性。比如从MSSQL生成实体类,然后反向工程生成到SQLite中去。这方面可以多做几个测试。测试人员之间也可以互相交换数据库架构信息(第4步导出),用XCoder导入也可以生成实体类。
DSC00013.png DSC00014.png

  XCode的类型对应基于ADO.Net,但是大量存在一种.Net类型对应多种数据库类型的情况,我们只能做很小的一部分测试,不能保证各种类型的字段都能得到正确识别。
  各个需要附加DLL的数据库提供者,会自动下载!
  目前XCode对各个数据库的兼容性情况排名:MSSQL2008/2005》MSSQL2000》Access》SQLite》Oracle》MySql》SqlCe》PostgreSQL》Firebird,越是后面,可能存在的问题就越多。
  至于正向反向工程以外的问题,可以通过把项目指定到不同类型的数据库上进行测试。
  测试过程中遇到的各种问题,在群里反馈,实时修正各种BUG。
  测试相关资料下载地址:http://xcode.codeplex.com/releases/view/73026

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-303690-1-1.html 上篇帖子: spring List,Set,Map,Properties,array的使用配置文件注入实例 下篇帖子: webpy猫腻之web.database with SQLite
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表