如何在JayData上创建实体之间的关系?
这是我的表模式:
$data.Entity.extend("OrdemServico", {
Status: { type: String },
SafAnoSafra: { type: "int" },
LancObservacao: { type: String },
LancDtPrevIni: { type: Date },
LancDtPrevFim: { type: Date },
LancData: { type: Date },
CodSubprocesso: { type: "int" },
CodProcesso: { type: "int" },
CodOs: { type: "int" },
CodFuncEmpr: { type: "int" },
CodFuncAplic: { type: "int" },
CodFuncApliEmpr: { type: "int" },
CodFunc: { type: "int" },
CodFrente: { type: "int" },
CodEmpr: { type: "int" }
});
$data.Entity.extend("Local", {
SafAnoSafra: { type: "int" },
PerAreaOs: { type: "decimal" },
IdDivi4: { type: "int" },
CodOs: { type: "int" },
CodEmpr: { type: "int" },
CodDivi4: { type: "int" },
CodDivi3: { type: "int" },
CodDivi2: { type: "int" },
CodDivi1: { type: "int" },
AreaOs: { type: "decimal" },
AreaLiquida: { type: "decimal" }
});
关系是:
OrdemServico.SafAnoSafra -> Local.SafAnoSafra
OrdemServico.CodEmpr -> Local.CodEmpr
OrdemServico.CodOs -> Local.CodOs
经过大量搜索,我在官方的JayData教程中发现了类似的内容,但在这个链接上(至少对我来说)仍然不太清楚。根据它的说法,我要做的是建立一种关系:
OrdemServico实体的Locais: {type: "Array", elementType: "$org.types.Local", navigationProperty: "OrdemServico"}
。。。
本地实体的OrdemServico: { type: "Array", elementType: "$org.types.OrdemServico", navigationProperty: "Local"}
。
这破坏了我的代码,不起作用。不知道如何走得更远。
查看JayData主页上的代码片段-查找"Relations"。
我解释了基本原理,用一个最新的例子来说明:
$data.Entity.extend("Todo", {
Id: { type: "int", key: true, computed: true },
Task: { type: String, required: true, maxLength: 200 },
Person: { type: "Person", required: true, inverseProperty: "Todos"}
});
$data.Entity.extend("Person", {
Id: { type: "int", key: true, computed: true },
Name: { type: String, required: true, maxLength: 200 },
Todos: { type: Array, elementType: Todo, inverseProperty: "Person" }
});
$data.EntityContext.extend("TodoDatabase", {
Todos: { type: $data.EntitySet, elementType: Todo },
People: { type: $data.EntitySet, elementType: Person }
});
Todo实体:我们将Person导航属性定义为引用字段,其类型为"Person"-稍后将声明。必须设置inverteProperty,才能让JayData帮助您找到关系的另一面。
个人实体:一个人可以有多个todo,所以我们定义了一个todo集合。elementType定义集合中项的类型。这里也需要inverteProperty。
注意:navigationProperty在早期版本的JayData中有效,在开发人员社区的反馈后,它被重命名为inverteProperty。很遗憾,此页面没有更新。。。直到现在。。。感谢您的询问,如果您仍然发现令人困惑的信息,请告诉我们,我们真的希望文档清晰且最新,但我们有很多内容,只有在您的反馈下,我们才能做到这一点。非常感谢。