CodeGen融合核心扩展定制文件
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_,但當overrided時,將設置為REL_。
RelationType屬性
此屬性可用于重寫關系的和諧核心關系類型,以防CodeGen標識不正確的關系類型。關系類型包括:
RequiresMatch Property (DEPRECATED)
此屬性以前用于定義關系是否需要驗證。當設置為true時,將始終嘗試驗證。當設置為false時,只有在源字段中存在非空格(alpha)或非零(decimal)值時才會嘗試驗證。該機制被證明不足以在幾個可能的場景中正確執行驗證,并已被ValidationMode屬性所取代(見下文)。
如果在自定義文件中找到RequiresMatch=true且ValidationMode不存在,則ValidationMode設置為Always。
如果在自定義文件中找到RequiresMatch=false且ValidationMode不存在,則ValidationMode設置為None。
建議刪除RequiresMatch的所有實例,并使用適當的ValidationMode屬性進行替換。
總結
以上是生活随笔為你收集整理的CodeGen融合核心扩展定制文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CodeGen API分析
- 下一篇: CodeGen融合核心关系循环扩展