JayData-извлечение сложных данных из базы данных

Сохранение записей в базе данных jaydata-web sql прошло успешно. Как мы получаем запись (Todo) из базы данных, включая местоположение.

$data.Entity.extend("Location", {
    City: { type: String },
    Country: { type: String }
});
$data.Entity.extend("Todo", {
    Id: { type: "int", key: true, computed: true },
    Task: { type: String, required: true, maxLength: 200 },
    DueDate: { type: Date },
    Completed: { type: Boolean },
    Location: { type: Location }
});

$data.EntityContext.extend("TodoDatabase", {
    Todos: { type: $data.EntitySet, elementType: Todo }
});

person user2263197    schedule 18.02.2016    source источник


Ответы (1)


Отношения лениво загружаются JayData. Вы можете использовать оператор .include('NavigationPropertyName'), который выполняет JOIN в WebSQL.

Пример:

db.Todos.include('Location').toArray(...)

Для выполнения этой работы требуется еще одна вещь: обновить контекст сущности с помощью набора сущностей местоположения.

$data.EntityContext.extend("TodoDatabase", {
    Todos: { type: $data.EntitySet, elementType: Todo },
    Locations: { type: $data.EntitySet, elementType: Location } // <--add this
});

Вы можете прочитать больше о взаимоотношениях объектов JayData здесь — JayData и отношения

person Robesz    schedule 19.02.2016