sql >> Database >  >> NoSQL >> MongoDB

Kan Assembly- of Windows-metadatabestand 'System.Data.dll' niet oplossen

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:

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.



  1. Dynamic Linq Predicate genereert niet-ondersteunde filterfout met C# MongoDB-stuurprogramma

  2. Hoe u hoofdletterongevoelige indexen maakt in MongoDB

  3. Hoe een query uit te voeren met punt (. ) via Mongoose in Node.js en hoe een lege array toe te voegen

  4. Mongo-aggregatie:waarden in groepen verdelen