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:
- Načítání dat z SQL pomocí C# Metro App
- Zpřístupnění System.Data aplikacím ve stylu Metro
- WinRT System.Data – připojení k SQL
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.