我如何在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教程中找到了一些附近的东西,但在this link上它仍然不是那么清楚(至少对我而言)。根据它,我必须做的是建立一种关系是这样的:
对于OrdemServico实体 Locais: {type: "Array", elementType: "$org.types.Local", navigationProperty: "OrdemServico"}
...
OrdemServico: { type: "Array", elementType: "$org.types.OrdemServico", navigationProperty: "Local"}
。
这会破坏我的代码并且不起作用。不知道该怎么走。
答案 0 :(得分:1)
查看JayData主页上的代码片段 - 查找“关系”。
我解释了基础知识,并通过最新的示例说明:
$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” - 稍后将声明。必须设置inverseProperty才能让JayData帮助您找到关系的另一面。
人员实体: 一个人可以有多个待办事项,所以我们定义了Todos的集合。 elementType定义集合中项目的类型。你也需要inverseProperty。
注意:navigationProperty在早期版本的JayData中有效,在开发人员社区的反馈后重命名为inverseProperty。不幸的是,这个页面没有更新...直到现在...感谢您的询问,如果您仍然发现令人困惑的信息,请告诉我们,我们真的希望文档清晰,最新,但我们有很多内容,我们只能通过您的反馈来做到这一点。谢谢!