2016-07-27 11 views
3

Ich verwende SQLite.Net-PCL in einem UWP-Projekt. Jetzt muss ich eine Zeile einer Tabelle lesen. Ich könnte so etwas wie verwenden:Wie Abfrage auf niedriger Ebene mit SQLite.Net-PCL?

var row = await _conn.QueryAsync<MyType>("SELECT * FROM MyTable WHERE ID=100"); 

Das Problem ist, dass die Tabelle 150 Spalten hat, und ich möchte nicht eine Klasse (MyType) nur für diese Abfrage schreiben. Ich möchte alle Spalten in einem Dictionary<string, string> oder ähnlichem laden, also könnte ich die Werte erhalten, die ich benötige.

Wie kann ich das mit dem SQLite.Net-PCL-Wrapper machen?

UPDATE:

Die Spaltennamen, die ich benötige sind in Runtime nur abrufen bekannt, so kann ich nicht eine Klasse erstellen. Der letzte Zweck besteht darin, ein Dashboard anzuzeigen. Der Benutzer kann 6 Spalten aus einer Liste von 150 auswählen. Dann möchte ich nur diese 6 Spalten in der Ansicht anzeigen.

+0

Wenn die Feldnamen vom Benutzer in Runtime definiert werden, müssen Sie diese Feldnamen in einer separaten Tabelle speichern und anschließend Ihre SELECT-Anweisung erstellen. Wenn Spaltennamen integraler Bestandteil des Programms sind, müssen Sie sicherstellen, dass sie auch gespeichert/abgerufen werden. 'Wenn der Benutzer aus einer Liste auswählt, welche Spalten er/sie in der Ansicht sehen möchte. Speichern Sie seine Einstellungen und Sie sollten gut sein. – AVK

+0

Downvote? "Ja wirklich?" Kann die Person, die meinen Kommentar abgelehnt hat, erklären, warum? – AVK

+0

Haben Sie eine Lösung gefunden? Wenn ja, können Sie das hier erklären? Vielen Dank. –

Antwort

-2

Wenn Sie den Typ mit nur 4 oder 5 Typen erstellen, wird die Abfrage nur diese Typen ziehen, nicht alle 150 Eigenschaften müssen erstellt werden.

+0

Die Feldnamen können vom Benutzer in Laufzeit definiert werden, daher kann ich die Spalten nicht kennen, um die Klasse zu erstellen. – kokokok