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. CTB-Locker敲诈者病毒下载器分析

    一. 样本基本信息 样本名称:927354529512.scr 样本大小:110592 字节 病毒名称:Win32.Trojan.Ctb-locker.Auto 样本MD5值:3A6D7E551C13 ...

  2. (转)Amazon Aurora MySQL 数据库配置最佳实践

    转自:https://zhuanlan.zhihu.com/p/165047153 Amazon Aurora MySQL 数据库配置最佳实践 AWS云计算 ​ 已认证的官方帐号 1 人赞同了该文章 ...

  3. Android so库文件的区节section修复代码分析

    本文博客地址:http://blog.csdn.net/qq1084283172/article/details/78818917 一.Android so库文件的节表secion修复方案整理 1.简 ...

  4. 编译android4.4刷到nexus 5

    操作系统:ubuntu14.4tls android源码版本:4.4 手机:nexus5 1 获得手机的驱动程序(跟硬件平台有关):Binaries for Nexus Device 查到nexus ...

  5. Python脚本与Metasploit交互进行自动永恒之蓝攻击

    我们首先利用 findTarget() 函数找到目标网段或目标主机中开放了445端口的主机,然后利用 confickerExploit() 函数将攻击代码写入 configure.rc 配置文件中,最 ...

  6. c# p/invoke 无法加载指定的dll 找不到指定的模块 解决方法

    写的程序本来开始好好的,不知道怎么突然就出现了以上这个问题,纠结了好久,网上找了各种方法,比如什么嵌入dll,在system32下面放入dll等等,均宣告失败 下面把我的解决方法写出来,以后只要是这个 ...

  7. 分布式事务与Seate框架(1)——分布式事务理论

    前言 虽然在实际工作中,由于公司与项目规模限制,实际上所谓的微服务分布式事务都不会涉及,更别提单独部署构建Seata集群.但是作为需要不断向前看的我,还是有必要记录下相关的分布式事务理论与Seate框 ...

  8. 【python】Leetcode每日一题-笨阶乘

    [python]Leetcode每日一题-笨阶乘 [题目描述] 通常,正整数 n 的阶乘是所有小于或等于 n 的正整数的乘积.例如,factorial(10) = 10 * 9 * 8 * 7 * 6 ...

  9. helium的浏览器启动及option配置 - 1

    helium的浏览器启动及option配置 前言 helium只支持chrome和firefox两个浏览器,其中option配置是基于selelium来配置的,所以所调用的也是seleium的配置方式 ...

  10. BUAA软件工程个人项目

    写在前面 项目 内容 所属课程 2020春季计算机学院软件工程(罗杰 任健) (北航) 作业要求 [个人项目作业](<https://edu.cnblogs.com/campus/buaa/BU ...