Universal app a SQLite   otázka

C#, SQL

Zdravím,

potřebuji v univerzální aplikaci použít databázi a tak používám SQLite. Vše by bylo super, kdybych měl předem daný data model a mohl použít mapování. Jenže ten neznám a je definovaný na základě dat, co přijdou ze serveru. Vygenerovat si na tom základě SQL dotazy pro tvorbu tabulek a CRUD operace není problém a není problém je ani spustit, kromě Selectu.

SQLite má následující metodu určenou ke čtení dat:

public Task<List<T>> QueryAsync<T> (string sql, params object[] args)

Jenže já nemám žádný typ T, který bych mohl určit. Zkoušel jsem proto dynamic a vlastní třídu z něj odvozenou, ale bez úspěchu.

Potřeboval bych SqlDataReader z ADO.NET, dokonce jsem koukal, že existuje SqlLiteDataReader, bohužel ne pro univerzální aplikace.

Nevěděl by někdo co s tím?

Díky.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
Jenže já mám žádný typ T, který bych mohl určit. Zkoušel jsem proto dynamic a vlastní třídu z něj odvozenou, ale bez úspěchu.

Tato formulace nedává příliš smysl. "T" označuje generický typ. Ve vašem případě tedy List<T>.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Upsal jsem se, samozřejmě má být "nemám typ T", a myšleno to bylo tak, že nemám žádný typ, který bych tam mohl doplnit, protože data model je dynamický a na základě toho, co přijde ze serveru. Úplně nejlepší, když na to zpětně koukám, by byla formulace:

"Nemám typ, který bych doplnil za T."

Navíc bude data model pro různé instance aplikace jiný, proto to nelze řešit v době psaní kódu. Přímo se nabízí již zmíněný dynamic, nicméně s tím se bohužel SQLite nepopere, nebo alespoň se mi nepovedlo to k tomu donutit.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback