2017-01-05 2 views
0

Я начал программирование на iOS, и я пришел из ASP.NET MVC. Я пытаюсь найти способ, чтобы связать модели к базе данных, или по крайней мере что-то похожее на связывание Entity Framework модель, я хочу, чтобы создать две модели, как так:Swift Sqlite привязка модели

class A{ 
let id = Expression<Int64>("id") 
let name = Expression<String?>("name") 
} 

class B{ 
let id = Expression<Int64>("id") 
let name = Expression<A>("A") 
} 

Я хотел бы, если это знать возможно, или кто-то может указать мне в правильном направлении, и когда я получаю данные, я хочу заполнить свои модели из sqlite

Заранее спасибо и извините, если я не понял в своем вопросе.

+1

Вы могли бы рассмотреть основные данные (см [ Что такое базовые данные] (https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/CoreData/index.html)), что может быть лучшей аналогией с EF, чем просто использовать SQLite напрямую. Вы все еще сохраняете данные в SQLite, но работаете с объектами модели, а не напрямую взаимодействуете с базой данных. Это не идеальный аналог EF, но он ближе ... – Rob

+0

Спасибо, я посмотрю. Я думаю, что это может быть то, что я ищу –

ответ

1

GRDB.swift SQLite библиотека фокусируется на помощь моделям приложений загрузки (ака записи) из базы данных: https://github.com/groue/GRDB.swift#records

Может быть, это именно то, что вы ищете:

let persons = try Person.fetchAll(db) // [Person] 
for luckyPerson in try Person.filter(isLucky).order(name).fetchAll(db) { person in 
    print(person.name) 
} 
if let person = try Person.fetchOne(db, key: 1) { 
    print(person.name) 
} 
+0

Спасибо, это тоже поможет мне –

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