Sembra system.data
non è disponibile per le app metro. Il consenso generale sembra essere che dovrai creare un livello intermedio di "intermediazione" (utilizzando una tecnologia come WCF) per consentire alla tua app metropolitana di comunicare con il database.
Riferimenti:
- Recupero dei dati da SQL utilizzando l'app C# Metro
- Rendi System.Data disponibile per le app in stile Metro
- WinRT System.Data - Connetti a SQL
Sebbene questi collegamenti abbiano SQL nel titolo, si rivolgono davvero alla connessione delle app metro direttamente a qualsiasi database.
Ecco un po' di una risposta a uno dei link sopra:
Domanda di follow-up nel commento:
Quando ho provato questo, ho potuto fare riferimento a MongoDB.Bson.dll
da solo e il progetto viene compilato, ma una volta ho fatto riferimento a MongoDB.Driver.dll
Ho ricevuto il tuo stesso messaggio.
Sembrerebbe che il driver sql e il driver mongodb richiedano entrambi System.Data.dll
, a cui potresti fare riferimento direttamente in un'app winforms/wpf standard (ma probabilmente non dovresti), ma a cui non puoi fare riferimento direttamente in un'app metro.
Direi che è necessario avere accesso a System.Data
se vuoi usare MongoDB. Quindi dovrai creare un progetto separato che faccia riferimento al driver MongoDB ed effettivamente esegua le connessioni al database e rendere quel progetto accessibile alla tua app metropolitana tramite chiamate WCF o un servizio web. Hai solo bisogno di qualcosa che si trovi tra la tua app metro e il database, perché non puoi connetterti direttamente ad essa.
So che sembra rendere le cose più complicate, soprattutto se stai solo cercando di giocare, ma a quanto pare è una decisione di progettazione presa da Microsoft riguardo alle loro app metro.