Javascript JayData实体关系
如何在JayData上创建实体之间的关系 这是我的表架构:Javascript JayData实体关系,javascript,jquery,jaydata,Javascript,Jquery,Jaydata,如何在JayData上创建实体之间的关系 这是我的表架构: $data.Entity.extend("OrdemServico", { Status: { type: String }, SafAnoSafra: { type: "int" }, LancObservacao: { type: String }, LancDtPrevIni: { type: Date }, LancDtPrevFim: { type: Date }, LancDa
$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教程中找到了类似的内容,但它仍然不太清楚(至少对我来说)。根据它,我要做的是建立一种关系是这样的:
Locais:{type:“Array”,elementType:$org.types.Local,navigationProperty:“OrdemServico”}
用于OrdemServico实体
OrdemServico:{type:“Array”,elementType:$org.types.OrdemServico,navigationProperty:“Local”}
用于本地实体
这破坏了我的代码,不起作用。不知道如何进一步。查看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 }
});
待办事项实体:
我们将Person导航属性定义为引用字段,其类型为“Person”-稍后将声明。必须设置inverseProperty,以便让JayData帮助您找到关系的另一面
个人实体:
一个人可以有多个TODO,因此我们定义了一个TODO集合。elementType定义集合中项的类型。这里也需要反向属性
注意:navigationProperty在早期版本的JayData中是有效的,在开发人员社区的反馈后,它被重命名为inverseProperty。不幸的是,这个页面没有更新…直到现在。。。感谢您的询问,如果您仍然发现令人困惑的信息,请告诉我们,我们确实希望文档清晰且最新,但我们有很多内容,我们只能根据您的反馈来完成。谢谢大家! 谢谢你的回答。我们很享受JayData,但当需要文档来实现某些功能时,我们感到有点无助。我们使用的是JayData模型,它们工作得很好,但仅用于数据持久性。由于缺乏使用JayData的经验和结果,我们选择使用JavaScript本机函数直接在本地数据库上执行纯SQL查询。它目前正在运行,我们将保留JayData,希望在不久的将来提高它的使用率。我发布的问题已经解决了,无论如何,谢谢你的关注。你能给你分享一些原生SQL查询的例子吗?这篇文章对你有帮助吗我们正在考虑出版JayData的书。让我们知道您想要实现什么,在不太容易找到的地方有许多文档化的功能,也有未文档化的功能。你的反馈可能会触发旧文档的更新和新文档的创建。很高兴听到这个消息!很多社区成员都会对你的意见感兴趣。我刚刚看到你在JayData论坛上发帖,这是与社区合作的最佳沟通渠道——如果我离线一周,你不会被卡住:)