Ser ut som system.data
är inte tillgängligt för metroappar. Den allmänna konsensus verkar vara att du måste skapa en mellannivå (med hjälp av en teknik som WCF) för att tillåta din metro-app att kommunicera med databasen.
Referenser:
- Hämtar data från SQL med C# Metro App
- Gör System.Data tillgänglig för appar i Metro-stil
- WinRT System.Data - Anslut till SQL
Även om dessa länkar har SQL i titeln, adresserar de verkligen att ansluta metroappar direkt till vilken databas som helst.
Här är lite från ett svar på en av länkarna ovan:
Följdfråga i kommentaren:
När jag försökte detta kunde jag referera till MongoDB.Bson.dll
av sig själv och projektbyggen, men en gång refererade jag till MongoDB.Driver.dll
Jag fick samma meddelande som du.
Det verkar som att sql-drivrutinen och mongodb-drivrutinen båda kräver System.Data.dll
, som du kan referera direkt i en vanlig winforms/wpf-app (men förmodligen inte borde), men som du inte kan referera direkt i en metro-app.
Jag skulle säga att det är nödvändigt att ha tillgång till System.Data
om du vill använda MongoDB. Så du måste skapa ett separat projekt som refererar till MongoDB-drivrutinen och som faktiskt utför anslutningarna till databasen, och göra det projektet tillgängligt för din metro-app via WCF-samtal eller en webbtjänst. Du behöver bara något som sitter mellan din metro-app och databasen, eftersom du inte kan ansluta direkt till den.
Jag vet att det verkar göra saker mer komplicerade, särskilt om du bara försöker leka, men det är tydligen ett designbeslut som Microsoft tagit angående deras metroappar.