U9研发体系(实体操作API参考手册)
U9研发体系(系统管理工具说明)

1.1. 登录
主控服务器:选择要登录的控制服务器地址。 初始密码为 123456
1.2. 站点管理
对该站点下的各种服务器进行配置。如下图:
【操作说明】 z 注册站点:注册本企业的其它站点到本地站点进行管理。 z 新增服务器:选择工具条上的【新增服务器】,弹出下拉列表,选择要添加的服务器类型,
进行添加即可。 z 编辑:可以对选择项进行编辑。 z 删除:删除选择项。
新增报表服务器,U9 的报表来源的服务器。 (A)代码: 报表服务器在当前站点中的唯一代码 (B)名称: 报表服务器的名称 (C)描述: 报表服务器的描述。 (D)服务器: 指安装 ReportServer 的机器名或 IP 地址,可以为本机或同域中其他机器。如果不 是本机,必须保证要配置的服务器运行系统管理服务(运行 ServiceHostingConsole.exe,启用 SystemManageEngine 服务),否则按刷新按钮会提示 (E)报表服务器 URL: 如果成功获取 ReportServer 安装信息,会显示 ReportServer 实际 URL,不 能为空。 (F)报表服务库目录: U9 报表扩展库目录,如果报表服务扩展库及系统配置管理工具均为标准 目录部署,此内容会自动判断是否存在,若存在,浏览按钮会 Disable。否则操作人员需手工查 找报表目录库所在位置(点击浏览按钮) (G)U9 门户网站: 需要配置报表服务运行环境的 Portal 服务器。此为先前创建的 Web 服务器名 称,如果是新增报表服务器,此处内容会预设第一个 Web 服务器 (H)高级:显示和编辑当前服务器的补丁更新的设置。详细间《服务器高级设置》 (I)确认:进行文件上传和报表服务器及 Portal 服务器复制 (J)取消:不做任何操作返回。 (6)新增集群服务器,如下图:
U9 操作指引(完整版)

U9 操作指引销售管理部份料品:50-0000-0001 指定存储地点及业务员客户:指定交易币种,价目表,出货原则,退货条件,出货条件,收款币种,收款条件,立账条件,其中立账条件及收款币种要与交易币种保持一致(重要)1.下达销售合同(注意起交日期在生效日期与失效日期之间)—提交—审核—客户确认(注意指定合同类型及流程)2.操作—批量生单(注意收款条件币种与单据币种一致)--提交—审核3.标准收货—批量生单—提交—审核4.退回流程:退货申请—批量生单(注意退货处理的单据类型)--受理—提交—审核5.采购管理—收货—销售退回收货—批量生单—进入检验流程6.采购管理—销售退回单—操作—检验—确定—提交—审核采购管理部份:料品:10-0000-0001 ,收货程序,勾选请购及询价属性1.查看是否点收及检验,操作—点收—提交—审核为可改,收货原则要填供应商:付款条件,付款币种,收货原则,立账条件2.下达采购合同(注意起交日期在生效日期与失效日期之间)--提交—审核—供应商确认3.采购申请—合同请购—批量生单(参照采购合同)提交—审核4.采购管理—料品询价范围—询价—批量生单(参照请购单)-比价—接受比价—提交—审核—转PO5.采购订单—提交—审核6.标准收货—批量生单—进入检验流程。
7.采购收货单—操作—检验—确定最终接受数量—提交—审核生产管理部份:料品:50-0000-0001 料品档生产页签可设超领百分比;物料清单中控制页也可以设,优先取物料清单的设置1、生产订单下达新增——单据类型——生产部门——生产数量——完工存储地点——计划开工时间——计划完工时间2、齐套分析指定存储地点——选取成套策略(生产数量、指定数量、可成套数)——选取生产订单——齐套分析3、生产订单开工开工:开工——开工数量——开工反开工:开工——开工历史——反开工4、生产订单领料与退料领料:后续处理——非成套领料——存储地点——实发数量——保存——审核——发料确认退料:生产退料——单据类型——选取生产订单——选取备料单——实退数量——退料理由——保存——审核——退料确认生产订单查询领退料明细、生产订单查询备料5、生产订单完工后续处理——完工——完工数量、报废数量、返工数量——质检页签(没有质检流程时:检验结果、不合格处理方式、数量)——保存——审核——进入质检流程---入库(打开生产订单、取消入库)6、返工生产订单生产管理参数:是否即时产生返工生产订单。
U9研发体系(查询过滤条件API参考手册)

U9研发体系(查询过滤条件API参考手册)文件编号:U9-SE-××-SPEC-××适用版本:U9 V1.5 UBF2.0修改状态:编写人:李东滨审核人:目 录1. 类型 (3)1.1 FilterDefine 过滤条件模型 (3)1.2 DefaultValue 默认值定义 (6)1.3 FilterValue 过滤条件值 (7)1.4 RangeEnabled 使能控制 (9)1.5 RangeEnabledExpression 使能条件 (9)1.6 Reference 条件参照定义 (10)1.7 ReferenceObject 描述参照内容的参照对象 (11)1.8 EnumeratorKeyPair 枚举键值对 (12)1.9 EnumeratorKeyPairs 枚举键值对集合 (13)1.10 RefCondition 参照条件 (14)1.11 EnumRestrict 枚举约束 (15)1.12 RefConditions 条件参照项集合 (15)1.13 FilterBuilder 查询条件构造器 (16)2. 枚举 (19)2.1 enuOperatorLogicType (19)2.2 enuOperatorType (19)2.3 enuOperatorListType (20)2.4 FilterDataType (20)2.5 enumFilterValueType (20)2.6 enuSelectOptionType (21)2.7 enuReferenceType (21)2.8 enuFilterItemType (21)2.9 enuFilterLevelType (21)2.10 enuPageOfInputFilterValueType (22)2.11 SimpleOperator (22)2.12 enuNodeExpandType (22)1. 类型概要所在程序集:UFSoft.UBF.Report.Filter.FilterModel.dll命名空间:UFSoft.UBF.Report.Filter.FilterModel1.1 FilterDefine 过滤条件模型属性1public int ID名称:ID语法:说明:过滤条件的唯一标识2public string Name名称:名称语法说明:过滤条件名称3public string FullPath名称:在树结构中的路径语法说明:记录过滤条件在过滤条件树中的全路径4public string Expression名称:条件字段表达式语法说明:最后形成where子句时候的左表达式5public string Label名称:显示标题语法说明:条件显示标题6public bool Visible名称:条件是否显示语法说明:该条件在条件树中是否显示7public FilterDataType DataType名称:条件数据类型语法说明:为FilterDataType枚举类型8public DefaultValue DefaultValue名称:条件默认值说明9public Reference Reference名称:条件参照定义语法说明:记录有关条件参照的信息,包括枚举条件和参照条件等10public List<enuOperatorListType> OperatorList名称:固定操作符列表语法说明:该条件支持的条件比较符11public FilterDefines SubFilters名称:子条件项列表语法说明:指该条件项下的子条件项,在树结构中表示一个条件项节点下的子节点12public enuFilterLevelType Level名称:条件级别属性语法说明:为enuFilterLevelType枚举类型【即是基本条件还是高级条件】13public enuFilterItemType Type名称:条件类型语法说明:为enuFilterItemType枚举类型【目录或条件项】14public bool Fixed名称:是否为必输项目语法说明15public string Tag名称:条件标记语法说明16public bool AllowBlank名称:是否允许为空语法说明17public bool IsJudgeBlank名称:是否对不可为空的条件项进行判读处理语法说明18public bool IsBuildWhereStr名称:是否参与条件构造语法说明:是否形成最后的where子句19public string ParentID名称:父条件项ID说明20public bool PopulateOnDemand名称:是否懒加载语法说明21public bool ChildIsAllLoad名称:子条件项是否加载语法说明22public RangeEnabled RangeEnabledDefine名称:使能条件定义语法说明23public bool RaiseChangeEvent名称:是否触发事件语法说明:当该条件项的值发生变化后是否触发事件24public string EntityFullName名称:实体全名语法说明25public enuNodeExpandType NodeExpandType名称:节点展开类型语法说明26public bool Auto名称:是否DataCommand自动生成语法说明27public FlexFieldValueSetDef FlexFieldValueSetDef 名称:当节点为描述性弹性域的值集定义信息语法说明28public string DescFieldContextValue名称:描述性弹性域的上下文值语法说明29public bool ViriantCtrlEnabled名称:设置值对话框中的变量控件是否可用语法说明30public string DescartesPath名称:该条件项的笛卡尔路径说明方法1public FilterDefine()名称:FilterDefine的构造函数语法:说明:2public object Clone()名称:复制对象自身语法:说明:3public void GetObjectData()名称:获取对象数据语法:说明:实现ISerializable接口成员4public override string ToString()名称:重写的基类的ToString方法语法:说明:返回字符串为FilterDefine的Name加FullPath属性1.2 DefaultValue 默认值定义属性1public bool IsContext名称:是否采用“变量”机制语法:说明:是的话这里面的Values会被解释为上下文字段2public enuOperatorListType RelationOperator名称:关系比较符语法:说明:3public List<string> Values名称:条件的默认值定义语法:说明:4public List<string> Labels名称:语法:说明:5public List<ReferenceValue> ReferenceValues名称:语法:说明:方法1public DefaultValue()名称:默认值构造函数语法:说明:1.3 FilterValue 过滤条件值属性1public int FilterItemID名称:条件项ID号语法:说明:2public bool IsClearByEnabled名称:是否根据使能清空语法:说明:3public enuOperatorListType LogicOperator名称:逻辑操作符ID语法:说明:4public string LeftBracket名称:左括号语法说明5public string Name名称:条件值名称语法:说明:6public enuReferenceType ReferenceType名称:在FilterValue中加上参照的类型语法:说明:在FilterValue中加上参照的类型,为解决条件构造中一些特殊的情况,如枚举型is null及小于操作符等的处理,要考虑-1的情况7public enuOperatorListType RelationOperator名称:关系操作符ID语法:说明:8public string RightBracket名称:右括号)语法:说明:9public enuPageOfInputFilterValueType PageType 名称:描述当前条件值是从那一页签输入语法:说明:10public ValueContext Values名称:条件值集合,只读属性语法:说明:11public enumFilterValueType ValueType名称:条件值类型语法:说明:方法1public void AddValue(string value)名称:追加条件值语法:说明:2public string GetValue()名称:取得第一个条件值语法:说明:3public string GetValue(int index)名称:取得条件值语法:说明:根据index取得相应的条件值4public List<string> GetValues()名称:取得条件值集合语法:说明:5public void SetValue(int index, string value)名称:设置具体条件值语法:说明:设置第index的条件值为value6public void SetValues(List<string> values)名称:设置条件值集合语法:说明:7public string GetSecValue()名称:取得第二个条件值语法:说明:8public int ValueCount()名称:条件值数量语法:说明:9public override string ToString()名称:输出到字符串语法:说明:10public void FromString(string value)名称:从字符串输入语法:说明:1.4 RangeEnabled 使能控制属性1public List<RangeEnabledExpression> ExpressionList 名称:使能条件表达式集合语法:说明:2public List<SimpleOperator> LogicTypeList名称:逻辑比较符集合语法:说明:1.5 RangeEnabledExpression 使能条件属性1public string DefineName名称:要定义的使能条件名称语法:说明:2public enuOperatorListType Operator名称:使能操作符语法:说明:3public List<string> ValueList名称:使能比较定义的值集语法:说明:4public bool UnDefined名称:是否未定义标识语法:说明:可以设置当条件没有设置值时,被影响的控件是否可用;默认是没值时,可用比如A受B影响,设置A:DefineName=B,UnDefined=true, 如果B没有值,A就不可用5public bool IsDefined名称:是否已定义标识语法:说明:条件项被设置值时,被影响的控件是否可用,比如A受B的影响,当B有值时,A就不可用,这时设置A:DefineName=B,IsDefined=true, 在解析使能条件时,发现B有值,A就不可用。
U9研发体系(数据库访问API参考手册)

U9 数据库访问API参考手册适用版本:U9 V1.5 UBF2.0修改状态:编写人:叶琳审核人:此部分要记录该文档形成过程中的历次版本变更过程及变更的内容版本修改与参与人修改时间修改原因修改内容审批人1.0 叶琳2008-7-8 原始文档建立叶琳2008-7-9 加上类的名空间概述U9数据库访问的API集中在UFSoft.UBF.Util.DataAccess.dll中,主要是封装直接执行sql和存储过程DataAccessorUFSoft.UBF.Util.DataAccess.dll下的DataAccessor主要对外提供直接执行sql和存储过程的方法,名空间为UFSoft.UBF.Util.DataAccess方法:public static IDbConnection GetConn()取当前的连接注意:这个连接是通过DatabaseManager.GetCurrentConnection()取得,是取当前环境下的连接static public int RunSP(string sprocName, DataParamList dataParams)用当前连接执行存储过程参数:sprocName 存储过程名dataParams 参数列表static public int RunSP(string sprocName, DataParamList dataParams, outDataSet ds)用当前连接执行存储过程参数:sprocName 存储过程名dataParams 参数列表ds 输出结果static public int RunSP(string sprocName, DataParamList dataParams, out IDataReader dr)用当前连接执行存储过程参数:sprocName 存储过程名dataParams 参数列表dr 输出结果static public int RunSP(string sprocName, DataParamList dataParams, out object obj)用当前连接执行存储过程参数:sprocName 存储过程名dataParams 参数列表obj输出结果static public int RunSP(IDbConnection conn, string sprocName, DataParamList dataParams)执行存储过程参数:c onn 数据库连接sprocName 存储过程名dataParams 参数列表static public int RunSP(IDbConnection conn, string sprocName, DataParamList dataParams, out DataSet ds)执行存储过程参数:c onn 数据库连接sprocName 存储过程名dataParams 参数列表ds 输出结果static public int RunSP(IDbConnection conn, string sprocName, DataParamList dataParams, out IDataReader dr)执行存储过程参数:c onn 数据库连接sprocName 存储过程名dataParams 参数列表dr输出结果static public int RunSP(IDbConnection conn, string sprocName, DataParamList dataParams, out object obj)执行存储过程参数:c onn 数据库连接sprocName 存储过程名dataParams 参数列表obj输出结果static public int RunSQL(IDbConnection con, string commandText, DataParamList dataParams)执行sql参数c on 数据库连接commandText sql语句dataParams 参数static public int RunSQL(IDbConnection con, string commandText, DataParamList dataParams, bool needCloseConn)执行sql参数c on 数据库连接commandText sql语句dataParams 参数needCloseConn 执行完后是否需要平台自动关闭连接static public int RunSQL(IDbConnection con, string commandText, DataParamList dataParams,bool needCloseConn, out IDataReader dr)执行sql参数c on 数据库连接commandText sql语句dataParams 参数needCloseConn 执行完后是否需要平台自动关闭连接dr 输出结果static public int RunSQL(IDbConnection con, string commandText, DataParamList dataParams, out DataSet ds)执行sql参数c on 数据库连接commandText sql语句dataParams 参数ds 输出结果static public int RunSQL(IDbConnection con, string commandText, DataParamList dataParams, out IDataReader dr)执行sql参数c on 数据库连接commandText sql语句dataParams 参数dr 输出结果static public int RunSQL(IDbConnection con, string commandText,DataParamList dataParams, out object obj)执行sql参数c on 数据库连接commandText sql语句dataParams 参数obj 输出结果public static IDataReader GetDataReaderByPage(string tableName, intpageSize,Int64pageIndex, string selectSql,string whereSql, stringorderbySql, string optimizesql, string aliasFileds, DataParamList dataParams)分页查询,返回IDataReader参数:tableName 主table名pageSize 页面大小pageIndex 页面索引selectSql 查询子句whereSql 条件子句orderbySql 排序子句optimizesql 优化子句aliasFileds 别名列,一般可以用*dataParams 参数列表注意,这个方法这个方法的参数很多,较复杂,一般平台用,开发尽量避免直接使用public static DataSet GetObjectsByPage(string tableName, int pageSize,Int64 pageIndex, string selectSql, string whereSql, string orderbySql,string optimizesql, string aliasFileds, DataParamList dataParams)分页查询,返回DataSet参数:tableName 主table名pageSize 页面大小pageIndex 页面索引selectSql 查询子句whereSql 条件子句orderbySql 排序子句optimizesql 优化子句aliasFileds 别名列,一般可以用*dataParams 参数列表注意,这个方法这个方法的参数很多,较复杂,一般平台用,开发尽量避免直接使用KeyGeneratorU9实体的ID是通过存储过程产生,UFSoft.UBF.Util.DataAccess.dll下的KeyGenerator 提供一个辅助的方式提供一个新的ID,以避免直接访问产生ID的存储过程,名空间为UFSoft.UBF.Util.DataAccess方法:static public Int64 NewValue()取一个新的ID值。
U9研发体系(开发环境手册)_图文.

U9开发环境手册文件编号:U9-SE-××-SPEC-××版本号:修改状态:0编写人:张璋审核人:适用对象该手册适用于U9本部开发人员、客户化开发人员。
版本记录【此部分要记录该文档形成过程中的历次版本变更过程及变更的内容】版本修改与参与人修改时间修改原因修改概述审批人1.0 张璋 2008/07/10 原始文档建立1.1 张璋 2008/08/12 按照本部级评审意见修改相关文档名词解释z U9AppCode(U9业务逻辑视图目录z U9Data(U9数据视图目录z U9Product(U9开发环境目录z U9UICode(U9UI逻辑视图目录手册正文1.U9基础开发环境1.1 OS环境推荐使用“Windows Server 2003(企业版,SP2”,U9本部人员可以在如下地址访问获取:\\u9domain\data\Download\0C - 操作系统1.2 IIS6.0推荐安装OS后,立即安装IIS,以保证在安装 2.0之前IIS已经安装完毕。
IIS6.0的安装位置在:添加或删除程序->添加删除Windows组件->应用程序服务器->详细信息->Internet信息服务(IIS。
按照下图红色数字顺序,安装IIS6.0。
点击【确定】、【下一步】后,系统提示插入操作系统光盘,可以插入系统光盘,如果没有系统光盘,可以定位到操作系统文件夹的i386文件夹。
1.3 Framework V3.0U9本部人员可以在如下地址访问获取:\\u9domain\data\Download\0C - Visual Studio系列1.4 浏览器推荐使用“IE7”,U9本部人员可以在如下地址访问获取:\\u9domain\data\Download\0C - Office系列1.5 数据库开发环境推荐先安装SQL Server 2005,再安装Visual Studio 2005。
U9研发体系(UIACTION使用手册)

U9研发体系(UIACTION使用手册)此部分要记录该文档形成过程中的历次版本变更过程及变更的内容版本修改与参与人熊悦阅修改时间修改原因修改内容审批人1.02022-7-8原始文档建立刘小东1.概述UFIDAUIAction是表示层MVC框架中Controller一部分,它与CodeBehind构成完整的UIController,CodeBehind完成Web响应的流转控制,UIAction完成一个独立的行为,如保存、加载、翻页等等。
2.构架原理2.1UIAction在表示层构架中的位置和作用2.2UIAction的主要内容3.1.1Load方法Load方法完成加载数据到IUIModel的过程,包含以下多种声明:声明IUIModelLoad()IUIModelLoad(IUIModel)IUIModelLoad(IUIModel,bool)说明加载当前IUIModel加载指定的IUIModel加载指定的IUIModel第二个参数控制是否清空IUIModel的数据IUIModelLoad(IUIView,bool)IUIModelLoad(paramIUIView[])IUIModelLo ad(paramIUIViewBindingControl[])加载一个视图,是否根据父视图进行过滤加载指定的多个视图加载指定的多个UI绑定控件对应的视图3.1.2LoadChildView方法LoadChildView方法加载指定视图的下级视图数据:声明VoidLoadChildView(IUIView)说明加载的数据存放在视图的ContainerModel中3.1.3Save方法Save方法将IUIModel的变化更新到后台持久层声明IUIModelSave()IUIModelSave(IUIModel)保存后会回刷IUIModel的数据到前台。
说明加载的数据存放在视图的ContainerModel 中3.2NavigationAction部分声明voidFirtPage(IUIViewBindingControl)voidLatPage(IUIViewBindingControl)voidNe某tPage(IUIViewBindingControl)说明加载的数据存放在视图的ContainerModel中加载最后一页的数据加载下一页的数据。
U9研发体系(U9数据库编程规范)

版 修改与 修改时间
本 参与人
修改原因
修改概述
黄卫
2008/06/26 原始文档建立
审批人
相关文档
【此部分包含对该文档起指导与约束作用的相关文档以及预计在该文档指导与约束下将要 建立的文档。】
约定
标有 ★ 的条目表示强制性规范。
第 2 页 共 27 页
数据库编程规范细则
1.数据库设计
1.1 命名规范
命名
1.2 数据类型
1.2.1 数据库类型和 UBF 提供的类型
UBF 类型 字符串 短整数 整数
SQL Server 2005 类型 NVarchar Smallint Int
长整数
Bigint
布尔 日期 时间 日期时间 单精度 双精度
Bit
Datetime Float(1-24) 或 Real Float(25-53)
第 3 页 共 27 页
存储过程
P_名称
50
P_AllocSerials
注:若数据库对象的命名规则与最大长度限制存在冲突,可以通过缩减表名或字段名来实
现。
1.1.3 字段命名
UBF 约定: 表类型
基本数据表
多语言表
字段类型 主键 固定字段
联合主键
说明 对象 ID 记录建立时间 记录建立者 记录修改时间 记录修改者 并发控制 对应主表主键 多语言代码字段
第 7 页 共 27 页
<2> 如果变量是用于存储数据表中某个字段值的时候,请使变量类型包括精度与数据 库表字段类型一致。
<3> 不要在循环中定义变量。 <4> 变量赋值 使用 set @xxx = ? ,不要用早期版本的 select @xxx = ? 方式。
U9研发体系(U9编码规范)

命名规则与约束 一般规则
# # # 所有的标识符都必须用英文命名,请不要使用汉字或者汉语拼音作为标识符。有关 。 BE 的命名规则请参考《UBF 编码规范》 当对集合变量命名时,请使用复数形式,用以描述该变量是一个集合。 命名 const 变量时请保持所有的字母大写,并且每个单词之间用“_”连接。 不推荐: private const int Max_Account = 100; 推荐: private const int MAX_ACCOUNT = 100; 请使用大家认识一致的缩写,不要自己随意发明缩写,这样理解上会比较困难并且 会产生歧义。 不推荐: GetH():H 的具体含义请看下面的推荐方案 UserInterface:这里应该用缩写 推荐: GetHandler() UI:大家都是知道 UI 指的是 User Interface 虽然 private 是默认的访问控制, 但是建议不要省略这个关键字, 请严格根据您设计 的类的访问控制规约明确的给出是否使用该关键字。 不推荐: public class SomeClass{ stirng s; } 推荐: public class SomeClass{ private string s; } 每个变量的声明必须占一行,避免一行声明多个变量。 不推荐: private string s,s1,s2; 推荐: private string s; private string s1; private string s2; 众所周知 C#是区分大小写,请不要只用大小写来区分标识符,请使用明确的语义。 不推荐: private Bus bus; private Bus bUs; 推荐: private Bus PublicBus;
文件
# 所有的源代码文件命名必须遵循 Pascal Case 的命名规则(请参考术语定义) 。 推荐: SourceCodeFile.cs 所有的项目文件命名必须遵循 Pascal Case 的命名规则 (请参考术语定义) , 该条目 同样适用于 Assembly 和命名空间。 推荐:
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
propName 属性名
public MultiLangDataDict GetMultiLangPropDict(string propName)
取得属性所对应的全语种信息 参数:
propName 属性名
返回: MultiLangDataDict 带全语种的多语集合
方法
public IPersistableObject Clone()
新建一个实体,将源实体的所有属性拷贝到这个新建的实体,注意,这个新实体的 ID 与源实体都是一样的
public virtual void CopyTo(Entity target)
将源实体的除了 ID 以外的所有属性拷贝到 target 实体 参数:
EntityKey
这个 EntityKey 是实体基类 UFSoft.UBF.Business.BusinessEntity 的内部类,是强类 型 EntityKey 的基类
方法
public BusinessEntity GetEntity() 通过 EntityKey 加载实体
EntityFinder
List<string> 变化的属性集合
public string GetMultiLangProp(string langType, string propName)
取属性在指定语种所对应的多语言信息 参数:
langType 语种 propName 属性名
public string GetMultiLangProp(string propName)
创建实体全名为 fullName 的实体对象 参数:
fullName 实体的带名空间的全名 parent 上级实体,如果是主实体的创建,这个参数为 null,如果不是,这个参数 需要送入组合它那个实体实例
public List<string> GetChangedAttributes()
取得变化的属性集合 返回:
entity 为删除/移出 session 的对象
public void InList(IEntity entity)
将 entity 加入到当前的 session 中 参数:
entity 为要加入 session 的对象
示例代码: objA = A_Ass1to1.Create(); _A_1to1 = "Test";
将 entity 对象的状态设置为 UFSoft.UBF.PL.Engine.ObjectState. Updated,并 加入到当前的 session 中
参数: entity 为修改的对象
public void Remove(IEntity entity)
如果当前 session 有这个 entity,且状态为 insert,则从当前 session 中移出这 个 对 象 , 其 他 情 况 下 , 将 entity 对 象 的 状 态 设 置 为 UFSoft.UBF.PL.Engine.ObjectState. Deleted,并加入到当前的 session 中 参数:
public object GetRelation(object key)
取属性所对应的关联实体/关联实体集合 参数:
key 关联对象属性名 返回:
object 如果是对一,返回关联对象,如果是对多,返回关联对象的集合
public virtual object GetValue(object propName)
属性
public QueryOptions QOptions
查询的扩展条件,目前主要用于多语控制 示例代码:
EntityDataQuery a = new EntityDataQuery("Association.Yel_Ass1to1_A"); //返回指定语种 a.QOptions.MultiLangOption = new GlobalizationContext("zh-CN"); a.FindDataSet(); //返回全语种 a.QOptions.MultiLangOption = GlobalizationOption.Manual; a.FindDataSet(); //返回当前上下文语种 a.QOptions.MultiLangOption = GlobalizationOption.Auto; a.FindDataSet();
public bool CopyTo(IPersistableObject po, bool isCopyKey)
将源实体的属性拷贝到 po 实体 参数:
po 目标实体 isCopyKey 是否带 ID 拷贝
public static Entity Create(IClassKey classKey, IEntity parent)
Session
UFSoft.UBF.Business.dll 下的 Session 主要是定义一个持久化控制的边界,并提交控 制内实体的持久化操作,名空间为:UFSoft.UBF.Business
方法
public static Session Open() 新开一个 Session
public void Commit() 提交 Session 内的将持久化的对象的新建/修改/删除操作
创建 IClassKey 指定类型的实体对象 参数:
classKey 实体的元数据信息 parent 上级实体,如果是主实体的创建,这个参数为 null,如果不是,这个参 数需要送入组合它那个实体实例
public static Entity Create(string fullName, IEntity parent)
叶琳
2008-7-11
加
EntityKey,EntityFinder,EntityV iewQuery,ExtendHelpAPI 的
API 说明
概述
实体操作的对外 API 主要集中在 UFSoft.UBF.Business.dll 中,涉及到实体的新建,修 改,删除,查询等操作,下面将分每个类进行详细说明,某些典型 API 将提供示例代码
属性
public bool NeedPersistable 是否需要持久化标志,为 true 表示需要持久化,可 set/get
public abstract IClassKey ClassKey 实体所对应的元数据信息,只能 get
public IObjectValue Values 实体的值集合,只能 get
public void SetRelation(object key, object value) 设置属性的关联关系 参数:
key 关联属性名 value 关联对象/关联对象集合 public virtual void SetValue(object propName, object value) 设置属性的值 参数: propName 属性名 value 值
将 entity 从 session 中移出 参数:
entity 为移出 session 的对象
示例代码: using (ISession s = Session.Open()) { objA = A_Ass1to1.Create(); objA.Code_A_1to1 = 333; s.DeList(objA);
这个 EntityFinder 是实体基类 UFSoft.UBF.Business.Entity 的内部类,是强类型 EntityFinder 的基类
方法
public bool IsExists(string opath, params OqlParam[] oqlParameters)
看是否存在满足条件的实体 示例:
using (ISession s = Session.Open()) {
s.InList(objA); mit(); } Assert.IsNotNull(A_Ass1to1.Finder.Find("ID = '" + objA.ID + "'"));
public void DeList(IEntity entity)
取属性所对应的值 参数:
propName 属性名
public void SetMultiLangProp(string propName, string value)
设置属性在当前语种的多语言信息 参数:
propName 属性名 value 值
public void SetMultiLangProp(string propName, string value, string langType)
mit(); } Assert.IsNull(A_Ass1to1.Finder.Find("ID = '" + objA.ID + "'"));
Entity
UFSoft.UBF.Business.dll 下的 Entity 是业务实体的基类,主要描述实体对象的基本 结构,实体对象的初始化等工作,名空间为 UFSoft.UBF.Business
target 为目标实体
注意,这个方法源实体和 target 实体的 ID 是不一样的。 目前 CopyTo 方法只完整实现了对基本属性的拷贝,即为浅拷贝,对于关联实体,实 际上是不拷贝的,对于一对一或一对多的情况,会出现关联对象也拷贝的假象,实际 上,对象是懒加载上来的,对于一对多的情况,是空对象,以后根据实际的使用情况, 决定是不是要完整实现关联实体的拷贝 CopyTo 方 法 只 是 将 相 关的 业 务 数 据拷 贝 , 不 涉及 到 一 些 系统 的 控 制 属性 , 如 SysState,NeedPersistable 等系统的控制字段,不涉及到 OriginalData 的拷贝