2013-07-31 2 views
0

Как я создаю отношения между объектами в 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, но до сих пор не так ясно об этом (по крайней мере мне) на this link. В соответствии с этим, что я должен сделать, чтобы укрепите отношение это что-то вроде этого:

Locais: {type: "Array", elementType: "$org.types.Local", navigationProperty: "OrdemServico"} для OrdemServico лица ...

OrdemServico: { type: "Array", elementType: "$org.types.OrdemServico", navigationProperty: "Local"} для локального объекта.

Это нарушает мой код и не работает. Не знаю, как идти дальше.

ответ

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 Entity: Мы определяем Person навигационной собственности в качестве опорного поля, его типа " Лицо "- будет объявлено позже. Необходимо установить inverseProperty, чтобы JayData помог вам найти другую сторону отношений.

Личное лицо: Один человек может иметь несколько todos, поэтому мы определяем коллекцию Todos. Элемент type определяет тип элементов коллекции. Здесь вам также нужен inverseProperty.

Примечание: Навигационная технология была действительна в ранних версиях JayData, она была переименована в inverseProperty после обратной связи с сообществом разработчиков. К сожалению, эта страница не обновлялась ... до сих пор ... Спасибо, что спросили, сообщите нам, если вы все еще находите непонятную информацию, мы действительно хотим, чтобы документация была ясной и актуальной, но у нас есть много содержимое, мы можем сделать это только с вашей обратной связью. Спасибо!

+0

Благодарим за ответ. Мы наслаждаемся JayData, но мы чувствуем себя немного беспомощными, когда вам нужны документы для реализации некоторых функций. Мы используем модели JayData, они отлично работают, но только для сохранения данных. Из-за отсутствия опыта и результатов использования JayData мы решили выполнить чистые SQL-запросы непосредственно в локальной базе данных с использованием собственных функций JavaScript. Сейчас он работает, и мы будем держать JayData в надежде улучшить его использование в ближайшем будущем. Во всяком случае, проблема, которую я опубликовал, я уже исправил, спасибо за внимание. – DontVoteMeDown

+0

не могли бы вы поделиться примерами с вашими собственными SQL-запросами? Помогает ли вам эта статья? - http://jaydata.org/blog/javascript-language-query-jslq-101. Мы рассматриваем возможность публикации книги JayData. Сообщите нам, чего вы хотите достичь, есть много документированных функций в не очень удобных местах и ​​недокументированных функциях. Обратная связь может вызвать обновление старых документов и создание новых – Robesz

+0

Отлично, я рад это слышать! Многие члены сообщества, которые были бы заинтересованы в вашем мнении. Я только что видел вас на форуме JayData, это лучший канал для общения с сообществом - вы не застряли, если я в автономном режиме в течение недели :) – Robesz

Смежные вопросы