资源描述:
《ORM组件XCode(动手)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、ORM组件XCode(动手)本篇才真正是XCode教程第一篇。《速览》是为了以最简洁的语言最短小的篇幅去吸引开发者;《简介》则是对XCode组件和XCode开发模式的一个整体介绍,让开发者从宏观的角度去理解XCode;《共舞》把XCode提到了一个新的高度,让开发者感受到它的贵族血统!先抛出三篇来吸引人,再出《动手》,其实就是吊人胃口。如果到这里你还没有想试一试XCode的念头冲动,好吧,我承认是我的失败,不过你可以欺骗我,可别欺骗你自己!XCode开发模式建议先有数据库再有实体模型,然后借助代码生成器生成实体代码;当然你要反过来先做实
2、体模型也是可以的,XCode之下的实体,支持反向生成数据库结构。下面以《速览》中的UserMember为例,建立数据表:数据表名:用户(UserMember)中文名英文名数据类型大小是否主键是否唯一是否必填默认值编号IDInt3210是是是账号AccountString50显示名DisplayNameString50数据库命名规范:²名称必须使用通俗易懂的英文单词全拼,常用的缩略词(如ID)除外²使用驼峰命名规则,每个单词首字母大写,其它小写²名称必须简洁明了,不要加多余的前缀(如表名前加tbl),字段名也不要加表名前缀²不得使用SQL
3、关键字或C#关键字作为表名或字段名²布尔型字段名称必须是IsAbb的形式²字符串类型统一使用nvarchar,大文本使用ntext,除非特殊情况,否则不用其它文本类型²建议给每张表建立一个自增的ID字段并作为主键,以利于数据分页管理²建议给每张表和每个字段加上说明使用代码生成器生成代码(先看代码,待会讲过程)://////用户///[Serializable][DataObject][Description("用户")][BindTable("UserMember",Description="用户"
4、,ConnName="Test")]publicpartialclassUserMember{#region属性privateInt32_ID;//////编号///[Description("编号")][DataObjectField(true,true,false,10)][BindColumn("ID",Description="编号",DefaultValue="",Order=1)]publicInt32ID{get{return_ID;}set{if(OnPropertyChange("
5、ID",value))_ID=value;}}privateString_Account;//////账号///[Description("账号")][DataObjectField(false,false,true,50)][BindColumn("Account",Description="账号",DefaultValue="",Order=2)]publicStringAccount{get{return_Account;}set{if(OnPropertyChange("Account",v
6、alue))_Account=value;}}privateString_DisplayName;//////显示名///[Description("显示名")][DataObjectField(false,false,true,50)][BindColumn("DisplayName",Description="显示名",DefaultValue="",Order=3)]publicStringDisplayName{get{return_DisplayName;}set{if(OnPropert
7、yChange("DisplayName",value))_DisplayName=value;}}#endregion#region获取/设置字段值//////获取/设置字段值。///一个索引,基类使用反射实现。///派生实体类可重写该索引,以避免反射带来的性能损耗//////字段名///publicoverrideObjectthis[Stringname]{get{switch(name){case"ID
8、":returnID;case"Account":returnAccount;case"DisplayName":returnDisplayName;default:returnbase[name];}}s