NewLife.XCode 上手指南
2012-07-26 14:38
489 查看
想了解什么是XCode
在这里我不对XCode做过多介绍,XCode曾经是一个轻量级ORM组件,现在是一个重量级数据映射框架,支持实体对象数据到不同媒体的数据映射,提供面向对象的方式操作数据库,解决90%以上的数据库操作场景.是大石头和他的NewLife团队10年来的智慧结晶,感谢前人栽树!
你可以用XCode生成Domain,做增、删、改、查.对于一个ORM我不要多强大,我只求简单,好用,能查到我要的数据,能完成我要的操作,遇到问题能有人帮助.如果你的需求和我一样,那么就停下来看看XCode的神奇之处吧!
想深入了解什么是XCode
请移步大石头的博客
ORM组件XCode(速览)
/article/4840553.html
ORM组件XCode(简介)
/article/4840554.html
给第一次接触XCode的人说的话
对于初学者,XCode看似给了一个很高的门槛,没有完整的教程,没有任何指导,有的只是源代码和一些零碎的博文和高级应用,让初学者无法入门,楼主也是才接触XCode1个多月的新手,不敢说指教,只是想丰富一下XCode的入门教程,让更多的人不会徘徊在门外不得入内.这也是楼主写本文的初衷.至于能不能写下去成为一个系列就看大家的反响吧.
正文开始!
第一次使用XCode的准备
对于第一次使用者来说,首先必要的就是提供所有的资源和材料,这点楼主第一次用XCode的时候就找了很久才把Dll和生成器下载下来,而且还不知道自己下载的是不是最新的.这里说明一下,XCode没有完整版,稳定版之说,每天大石头和他的NewLife团队都在更新,每天源码在ftp上编译4次,找到适合自己的才是最重要的,群里有人都3个月没更新dll了,照样用的挺好.不要盲目追求最新版,或者你就是喜欢当小白鼠.
dll和工具下载地址请至:http://www.newlifex.com/showtopic-51.aspx
正式开始XCode之旅
1.新建一个工程
在这里我不对XCode做过多介绍,XCode曾经是一个轻量级ORM组件,现在是一个重量级数据映射框架,支持实体对象数据到不同媒体的数据映射,提供面向对象的方式操作数据库,解决90%以上的数据库操作场景.是大石头和他的NewLife团队10年来的智慧结晶,感谢前人栽树!
你可以用XCode生成Domain,做增、删、改、查.对于一个ORM我不要多强大,我只求简单,好用,能查到我要的数据,能完成我要的操作,遇到问题能有人帮助.如果你的需求和我一样,那么就停下来看看XCode的神奇之处吧!
想深入了解什么是XCode
请移步大石头的博客
ORM组件XCode(速览)
ORM组件XCode(简介)
给第一次接触XCode的人说的话
对于初学者,XCode看似给了一个很高的门槛,没有完整的教程,没有任何指导,有的只是源代码和一些零碎的博文和高级应用,让初学者无法入门,楼主也是才接触XCode1个多月的新手,不敢说指教,只是想丰富一下XCode的入门教程,让更多的人不会徘徊在门外不得入内.这也是楼主写本文的初衷.至于能不能写下去成为一个系列就看大家的反响吧.
正文开始!
第一次使用XCode的准备
对于第一次使用者来说,首先必要的就是提供所有的资源和材料,这点楼主第一次用XCode的时候就找了很久才把Dll和生成器下载下来,而且还不知道自己下载的是不是最新的.这里说明一下,XCode没有完整版,稳定版之说,每天大石头和他的NewLife团队都在更新,每天源码在ftp上编译4次,找到适合自己的才是最重要的,群里有人都3个月没更新dll了,照样用的挺好.不要盲目追求最新版,或者你就是喜欢当小白鼠.
dll和工具下载地址请至:http://www.newlifex.com/showtopic-51.aspx
正式开始XCode之旅
1.新建一个工程
2.引用DLL
这里楼主又要多啰嗦了,其实也是对大家好,当你解压完DLL压缩包后,你会发现有很多DLL,这些DLL到底是干什么的呢,我应该引用哪个呢?
DLL里面其实是NewLife团队的所有组件,如果只是用ORM框架的话只需要用到下面提到的DLL,其他的DLL的作用其实楼主也不是很明白,楼主也不在这里误导大家.
NewLife.Core.dllNewLife核心代码,XCode也需要引用
XCode.dllXCode代码
所以引用DLL就是主要用这2个DLL,同名的XML文件一起复制进去,作用是智能提示的时候能够显示注释内容,同名的pdb文件是调试文件,在报错的时候能指示该错误发生在第几行,用于向大石头和他的团队求助时让他们定位到错误发生的精确位置.
3.数据库建立
XCode强大之处,不仅仅是可以从数据库导出Domain,更强大的是可以根据连接字段反向生成数据库,这么说可能没想到有什么用,换句话说就是,你可以用SQL2K开发,然后部署的时候直接带上你的程序部署,XCode会自动帮你根据连接字段生成数据库,你可以直接部署到MySQL,SQL2005里,不需要改代码,不要备份数据库.当然XCode这时只是生成了一个数据库表,并没有数据,初始化菜单和管理员这些数据XCode也支持,但不是本节我们讨论的内容.这些在以后有机会再介绍.(该功能需要配config,默认该功能关闭)
这里我们讲的是如何从数据库导出Domain,为我们所用.
我们先新建一个数据库,叫XCodeTest,这里为了方便讲解,我们用最经典的,学生-科目-教师-成绩表来示范
建立一个Student表,设置ID为主键,自增
建立一个Subject表,设置ID为主键,自增
关联TeacherID,一个科目由一个老师来负责,一个老师可以负责多个科目
建立一个Teacher表,设置ID为主键,自增
建立一个成绩表,ID主键,自增
关联SubjectID和StudentID
在建立数据库的时候,我一再强调ID主键,自增,是因为XCode对自增主键支持比较好,在Save方法内部,通过判断ID是否为空来选择Insert或Update,同样你可以用Guid做主键,但那样使用就不方便了,你要自己控制Insert还是Update
4.代码生成器
终于轮到代码生成器了,说实话,楼主自己第一次用代码生成器的时候就不知道怎么用.
在打开代码生成器之前,我们要配置一下连接字符串,解压到的文件中,有XCode.exe.config,打开他编辑,可以看到已经有了很多连接字段,都是示例,我们是SQL就复制一条mssql的来改吧
改好后,保存关闭.
打开代码生成器,看到我们刚才写的连接字符串已经被读到了
然后点连接,可以看到我们的表都已经读取到了
接下来改一改连接名,命名空间,输出目录
然后是生成,选则好模版,点击生成所有表,模版只要选择实体业务和实体数据2项就可以了,选一次模版,点一次生成所有表,再选一次模版,再点一次生成所有表!
关掉代码生成器,回到我们的项目来,新建一个文件夹Domain,右键文件夹,添加---现有项,把刚才生成文件都添加进来
5.从登录开始
拖2个TextBox,一个Button就可以开始了.
用户名:<asp:TextBoxID="txtUserName"runat="server"></asp:TextBox> <br/> 密码:<asp:TextBoxID="txtPsw"runat="server"TextMode="Password"></asp:TextBox> <br/> <asp:ButtonID="btnLogin"runat="server"Text="Button"/>
publicpartialclassStudent:IStudent
{
}
publicpartialclassStudent:Entity<Student>
{
}
Student.My.cs