JayData实体关系



如何在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。很遗憾,此页面没有更新。。。直到现在。。。感谢您的询问,如果您仍然发现令人困惑的信息,请告诉我们,我们真的希望文档清晰且最新,但我们有很多内容,只有在您的反馈下,我们才能做到这一点。非常感谢。

相关内容

  • 没有找到相关文章

最新更新