Lijkt op system.data
is niet beschikbaar voor metro-apps. De algemene consensus lijkt te zijn dat je een tussenlaag moet creëren (met behulp van een technologie zoals WCF) om je metro-app te laten communiceren met de database.
Referenties:
- Gegevens ophalen uit SQL C# Metro-app gebruiken
- Systeemgegevens beschikbaar maken voor apps in Metro-stijl
- WinRT System.Data - Verbinding maken met SQL
Hoewel deze links SQL in de titel hebben, zijn ze echt gericht op het rechtstreeks verbinden van metro-apps met elke database.
Hier is een stukje van een antwoord op een van de bovenstaande links:
Vervolgvraag in opmerking:
Toen ik dit probeerde, kon ik verwijzen naar MongoDB.Bson.dll
op zichzelf en het project bouwt, maar zodra ik verwezen naar MongoDB.Driver.dll
Ik kreeg hetzelfde bericht als jij.
Het lijkt erop dat het sql-stuurprogramma en het mongodb-stuurprogramma beide System.Data.dll
vereisen , waarnaar u rechtstreeks kunt verwijzen in een standaard winforms/wpf-app (maar waarschijnlijk niet zou moeten), maar waarnaar u niet rechtstreeks kunt verwijzen in een metro-app.
Ik zou zeggen dat het nodig is om toegang te hebben tot System.Data
als u MongoDB wilt gebruiken. Je moet dus een apart project maken dat verwijst naar de MongoDB-driver en daadwerkelijk de verbindingen met de database uitvoert, en dat project toegankelijk maken voor je metro-app via WCF-oproepen of een webservice. Je hebt alleen iets nodig dat tussen je metro-app en de database zit, omdat je er niet rechtstreeks verbinding mee kunt maken.
Ik weet dat het de dingen ingewikkelder lijkt te maken, vooral als je gewoon probeert te spelen, maar het is blijkbaar een ontwerpbeslissing die Microsoft heeft genomen met betrekking tot hun metro-apps.