sql >> Databáze >  >> NoSQL >> MongoDB

Nelze vyřešit soubor sestavení nebo metadat systému Windows 'System.Data.dll'

Vypadá jako system.data není k dispozici pro aplikace metra. Zdá se, že obecný konsenzus je, že budete muset vytvořit střední „mezi“ vrstvu (pomocí technologie, jako je WCF), aby vaše aplikace pro metro mohla komunikovat s databází.

Reference:

Ačkoli tyto odkazy mají v názvu SQL, ve skutečnosti řeší připojení aplikací metra přímo k jakékoli databázi.

Zde je kousek z odpovědi na jednom z výše uvedených odkazů:

Následná otázka v komentáři:

Když jsem to zkusil, mohl jsem odkazovat na MongoDB.Bson.dll sám o sobě a projekt se staví, ale jednou jsem odkazoval na MongoDB.Driver.dll Dostal jsem stejnou zprávu jako ty.

Zdá se, že ovladač sql i ovladač mongodb vyžadují System.Data.dll , na který byste mohli odkazovat přímo ve standardní aplikaci winforms/wpf (ale pravděpodobně byste neměli), ale na kterou nemůžete odkazovat přímo v aplikaci metra.

Řekl bych, že je nutné mít přístup k System.Data pokud chcete používat MongoDB. Takže budete muset vytvořit samostatný projekt, který odkazuje na ovladač MongoDB a skutečně provádí připojení k databázi, a zpřístupnit tento projekt vaší aplikaci metra prostřednictvím volání WCF nebo webové služby. Potřebujete jen něco, co sedí mezi aplikací metra a databází, protože se k ní nemůžete připojit přímo.

Vím, že se zdá, že to dělá věci složitějšími, zvláště pokud se snažíte jen hrát, ale je to zjevně rozhodnutí společnosti Microsoft ohledně jejich aplikací pro metro.



  1. MongoDB:$elemMatch

  2. Jarní data a mongoDB - dědičnost a @DBRef

  3. Získejte všechny klíče v databázi Redis pomocí pythonu

  4. Hledání duplicitních hodnot v poli MongoDB