Sto sviluppando un componente di Windows Runtime (C #) da utilizzare in un frontend HTML / JS per un'app di Windows Store. Ora, una delle richieste è di avere un database sul sistema locale per memorizzare i metadati relativi ai file che verranno scaricati. Dopo aver cercato ovunque ho iniziato a utilizzare SQLite combinato con la libreria wrapper sqlite-net .
Questa sembra essere ampiamente considerata l'opzione migliore, ma è una seccatura seria per me riuscire a lavorare. Forse il mio problema più grande è che non può mappare i tipi di raccolta alle tabelle composte. Questo mi ha portato a scrivere le mie query SQL per l'intera struttura del database, ma questa si è rivelata rapidamente una soluzione molto scomoda.
Per chiarire, questa è la situazione a cui mi riferisco:
class School {
string Name { get; set; }
List<Person> Students { get; set; }
}
class Person {
int Id { get; set; }
string Name { get; set; }
}
Per un esempio così piccolo potresti sicuramente scrivere le query SQL per le tre tabelle da solo, ma nella situazione attuale ho un oggetto che contiene diverse raccolte che a loro volta contengono anche collezioni di diversi livelli.
Forse sono viziato da Entity Framework ma è difficile credere che tutti utilizzino modelli di base che mantengano solo il (molto) limitato insieme di tipi supportati da sqlite-net o ognuno scriva il proprio wrapper attorno per tenere conto dei modelli con un po 'più di complessità.
In che modo queste situazioni vengono gestite in generale? Sto trascurando alcune soluzioni molto semplici?