电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

U9客开资料-功能点-03-自定义单据(高级).pdfVIP免费

U9客开资料-功能点-03-自定义单据(高级).pdf_第1页
1/78
U9客开资料-功能点-03-自定义单据(高级).pdf_第2页
2/78
U9客开资料-功能点-03-自定义单据(高级).pdf_第3页
3/78
自定义单据(高级)U9客户化开发支持部杨旭2009年 6月12日课程编号:课程概述后台组件编程基础前台组件编程基础专题研究主题课程概述后台组件编程基础前台组件编程基础专题研究主题课程概述课程目标在《自定义单据(初级)》课程基础之上,理解前后台编程接口和编程方法,深入挖掘单据开发功能课程内容内容涵盖前后台模型开发,前后台编程基础;听课基础自定义单据(初级),OQL语言,C#项目开发考查目标课程概述后台组件编程基础前台组件编程基础专题研究主题实体对外结构的基础组成实体的Key(强类型的EntityKey)实体的查询类Finder实体的强类型集合EntityList实体的资源属性和强类型访问属性的辅助类EntityRes实体的OriginalData实体的状态SysStateSessionSession的概念在现在UBF中,Session的本意是work unit,即持久层的一个边界,非常轻,主要用作批量提交,并标识这次批量提交的边界,不涉及到事务等概念。当前ISession可以通过Session的Current属性获得,每调用一次Session的Open方法,Current属性都会被更新Session的使用using(ISession session = Session.Open ()){...session.Commit();//提交更改,但只是Session范围内的修改更新}Session嵌套当发生session嵌套的情况时,每次提交都是真正提交示例:using(ISession session1 = Session.Open ()){...using(ISession session2 = Session.Open ()){...session2.Commit();//提交更改,但只是Session2范围内的修改更新}session1.Commit();//提交更改,只处理Session1的修改更新}实体新建新建实体实体的操作分为主实体的新建和非主实体的新建,如果是主实体新建,用不带参数的Create方法,如果是非主实体的,用带上级实例参数的Create方法。举例:using (ISession session = Session.Open()){A_Com1c1 objA = A_Com1c1.Create();objA.Code_A_Com1c1 = 1000;objA.Name_A_Com1c1 = "objA“;B_Com1c1 objB = B_Com1c1.Create(objA)//B为A的子实体objB.Code_B_Com1c1 = 1001;objB.Name_B_Com1c1 = “objB”;session.Commit();}最好在Session中创建实体更新using(ISession session = Session.Open ()){Customer obj = Customer.Finder.FindByID(id);if(obj!=null)obj.Name = "new name";session.Modify(obj);... ...session.Commit();}实体删除对于组合关系,如果删除主实体,那么,主实体下面的所有子实体,孙实体会被级联删除, 对于非主实体的删除,可以用子集合的RemoveAt和Remove(entity)方法,这2个方法等价,例如using (ISession session = Session.Open()){A_Com1cNobjA = A_Com1cN.Finder.FindByID(aID);objA.B_Com1cN.RemoveAt(0);//或用下面的方式:B_Com1cN b = Com1cN.Finder.FindByID(bID);objA.B_Com1cN.Remove(b);session.Commit();}实体查询方式实体的查询类FinderEntityDataQueryEntityQueryEntityViewQuery实体查询实体的查询类Finder返回强类型的对象常用方法:Find,FindByID,FindAll举例OqlParamList pList = new OqlParamList();string strOql = “Code=@Code";pList.Add(new OqlParam(“Code”, “11”));Customer.EntityList list=Customer.Finder.FindAll(strOql, pList.ToArray());实体查询EntityDataQueryEntityDataQuery 主要用于希望返回结果是IDataReader,DataSet,单值的情况创建方式:1、通过Entity对象:EntityDataQuery q = Customer.Finder.CreateDataQuery();2、通过EntityFullName:EntityDataQuery q = new EntityDataQuery("UFIDA.U9.CBO.SCM.Customer.Customer");EntityDataQuery q = new EntityDataQuery(Customer.EntityRes.BE_FullName);返回DataSet:FindDataSet1、全OQL方式DataSet ds =q.FindDataSet(“select ID,Name,Code from UFIDA::U9::CBO::SCM::Customer::Customer");2、条件OQL方式DataSet ds = q.FindDataSet( "ID>1");实体查询EntityDataQuery返回IDataReader :FindDataReader1、全OQL方式IDataReader dr = q.FindDataReader ("select ID,Name,Code from UFIDA::U9:...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

U9客开资料-功能点-03-自定义单据(高级).pdf

您可能关注的文档

确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信