CodeGen融合核心扩展定制文件

融合核心定制文件

Harmony核心环境的各个方面都可以通过创建一个定制文件来定制,该文件是一个名为Harm的JSON文件onyCoreCustomization.json。必须将此文件与正在使用的CodeGen模板放在同一位置。

自定义文件必须至少包含一个空JSON对象:

{

}

然后,可以通过向对象添加特定的命名属性来自定义Harmony核心环境的各个方面。可以在下面找到这样做的示例。

自定义关系

要自定义由扩展标记

<HARMONYCORE_relation_NAME>和<HARMONYCORE_FROM_relation_NAME>

生成的关系名称,必须向JSON对象添加名为CustomRelationNames的属性。属性必须定义一个对象数组,每个对象都为特定关系提供自定义名称。例如:

{

"CustomRelations": [

{

"FromStructure": "CUSTOMERS",

"FromKey": "CUSTOMER_NUMBER",

"ToStructure": "ORDERS",

"ToKey": "CUSTOMER_NUMBER",

"RelationName": "CustomerOrders",

"RelationType": "D",

"ValidationMode": "None",

"CustomValidatorName": "",

"BackRelation": "ORDERS-CUSTOMERS-CUSTOMER_NUMBER-CUSTOMER_NUMBER"

},

{

"FromStructure": "CUSTOMERS",

"FromKey": "FAVORITE_ITEM",

"ToStructure": "ITEMS",

"ToKey": "ITEM_NUMBER",

"RelationName": "CustomerFavoriteItem",

"RelationType": "C",

"ValidationMode": "ValuePresent",

"CustomValidatorName": "",

"BackRelation": "ITEMS-CUSTOMERS-ITEM_NUMBER-FAVORITE_ITEM"

},

{

"FromStructure": "CUSTOMERS",

"FromKey": "CUSTOMER_NUMBER",

"ToStructure": "CUSTOMER_NOTES",

"ToKey": "CUSTOMER_NUMBER",

"RelationName": "CustomerNotes",

"RelationType": "D",

"ValidationMode": "None",

"CustomValidatorName": "",

"BackRelation": "CUSTOMER_NOTES-CUSTOMERS-CUSTOMER_NUMBER-CUSTOMER_NUMBER"

}

]

}

可以向数组中添加任意数量的对象以自定义任意数量的关系。必须按照存储库中的定义准确指定结构和密钥名称,并且必须使用大写。

FromStructure属性

此属性应设置为要自定义的关系的存储库中的FromStructure结构的名称,并用于标识要自定义的存储库关系。

FromKey属性

此属性应设置为要自定义的关系的存储库中FromKey键的名称,并用于标识要自定义的存储库关系。

ToStructure结构性能

此属性应设置为要自定义的关系的存储库中ToStructure结构的名称,并用于标识要自定义的存储库关系。

 ToKey Property

此属性应设置为要自定义的关系的存储库中ToKey键的名称,并用于标识要自定义的存储库关系。

RelationName属性

此属性可用于自定义添加到数据模型类以公开关系的导航属性的名称。默认情况下,导航属性将命名为REL_<ToStructureName>,但当overrided时,将设置为REL_<RelationName>。

RelationType属性

此属性可用于重写关系的和谐核心关系类型,以防CodeGen标识不正确的关系类型。关系类型包括:

RequiresMatch Property (DEPRECATED)

此属性以前用于定义关系是否需要验证。当设置为true时,将始终尝试验证。当设置为false时,只有在源字段中存在非空格(alpha)或非零(decimal)值时才会尝试验证。该机制被证明不足以在几个可能的场景中正确执行验证,并已被ValidationMode属性所取代(见下文)。

如果在自定义文件中找到RequiresMatch=true且ValidationMode不存在,则ValidationMode设置为Always。

如果在自定义文件中找到RequiresMatch=false且ValidationMode不存在,则ValidationMode设置为None。

建议删除RequiresMatch的所有实例,并使用适当的ValidationMode属性进行替换。

CodeGen融合核心扩展定制文件的更多相关文章

  1. CodeGen融合核心关系循环扩展

    CodeGen融合核心关系循环扩展 Expansion Tokens <HARMONYCORE_RELATION_NAME> 插入当前关系的名称.关系名称将自动生成,但可以由Harmony ...

  2. 删除空文件夹 清除CS扩展名文件 bat

    删除空文件夹.删的干净.删的彻底. 将下列代码复制到txt中保存.并把后缀.txt命成.bat.然后运行即可. 方案1.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...

  3. UNIX标准化及实现之POSIX标准扩展头文件

    POSIX标准定义的XSI(X/Open System Interface)扩展头文件 头文件 说明 <cpio.h> cpio归档值 <dlfcn.h> 动态链接 <f ...

  4. php使用inotify扩展监控文件或目录,如果发生改变,就执行指定命令

    通过inotify扩展监控文件或目录的变化,如果发生变化,就执行命令. 可以应用于 swoole 中,如果文件发生变化,就执行 kill -USR1 进程PID 来实现热更新. <?php cl ...

  5. Nginx 核心配置-检测文件是否存在

    Nginx 核心配置-检测文件是否存在 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. try_files会按顺序检查文件是否存在,返回第一个找到的文件或文件夹(结尾加斜线表示为文件 ...

  6. Liferay7 BPM门户开发之42: Liferay核心JSP定制扩展

    Liferay最大的好处是不仅接口强大,利于扩展,就连JSP定制扩展都提供了3种方式. 修改核心jsp代码,有3种修改方式:1.暴力修改直接修改(位于portal-web/docroot/html), ...

  7. maven(4)------maven核心pom.xml文件常用元素分析

    在maven项目中,pom文件是核心文件 pom.xml: <?xml version="1.0" encoding="UTF-8"?> <p ...

  8. DiscuzX /source/function/function_core.php通用核心函数库文件分析

    ... <?php /** * [Discuz!] (C)2001-2099 Comsenz Inc. * This is NOT a freeware, use is subject to l ...

  9. [内核驱动] VS2012+WDK 8.0 Minifilter实现指定扩展名文件拒绝访问

    转载:http://blog.csdn.net/C0ldstudy/article/details/51585708 转载:http://blog.csdn.net/zj510/article/det ...

随机推荐

  1. ZOJ 3781 最短路(想法好题目)

    题意:       给你一个n*m的矩阵,上面只有两种字符,X或者O,每次可以同时改变相同颜色的一个连通块,上下左右连通才算连通,用最小的步数把这个图弄成全是X或者全是O,题意要是没看懂看下面的样例. ...

  2. DVWA之Insecure Captcha

    Insecure CAPTCHA Insecure CAPTCHA,意思是不安全的验证码,CAPTCHA是Completely Automated Public Turing Test to Tell ...

  3. Linux下Apache服务的部署和配置

    目录 Apache服务的安装 yum源安装: 目录文件 源码包安装: 目录文件: Apache中添加对php的支持 Apache中添加php对mysql数据库的支持 Apache服务的高级配置 1:配 ...

  4. POJ3614奶牛晒阳光DINIC或者贪心

    题意:       n个区间,m种点,每种点有ci个,如果一个点的范围在一个区间上,那么就可以消耗掉一个区间,问最多可以消耗多少个区间,就是这n个区间中,有多少个可能被抵消掉. 思路:       方 ...

  5. Aircrack-ng破解无线WIFI密码

    首先,如果kali是装在虚拟机里面的话,是不能用物理机的无线网卡的.所以,如果我们要想进行无线破解,需要外接一个无线网卡设备,并且该设备要支持 monitor 监听模式 iwconfig :系统配置无 ...

  6. POJ2669不错的最大流 竞赛问题(枚举King的个数)

    题意:       有n个人,任意两个人都比一次赛(一共比了n*(n-1)/2场),赢一场得到一分,最后的时候如果得分最高,或者是自己打败了所有比自己得分都高的人就算是King,给你每个人的最后得分, ...

  7. Windows核心编程 第四章 进程(上)

    第4章 进 程     本章介绍系统如何管理所有正在运行的应用程序.首先讲述什么是进程,以及系统如何创建进程内核对象,以便管理每个进程.然后将说明如何使用相关的内核对象来对进程进行操作.接着,要介绍进 ...

  8. Node-RESTful

    //获取用户列表------------------------------------------------- var express = require('express'); var app ...

  9. C++ primer plus读书笔记——第10章 对象和类

    第10章 对象和类 1. 基本类型完成了三项工作: 决定数据对象需要的内存数量: 决定如何解释内存中的位: 决定可使用数据对象执行的操作或方法. 2. 不必在类声明中使用关键字private,因为这是 ...

  10. [时间模块、random模块]

    [时间模块.random模块] time模块 在Python中,通常有这几种方式来表示时间: 时间戳(timestamp):通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏 ...