Wygląda jak system.data
jest niedostępny dla aplikacji metra. Ogólny konsensus wydaje się być taki, że będziesz musiał utworzyć środkową warstwę pośredniczącą (przy użyciu technologii takiej jak WCF), aby umożliwić aplikacji Metro komunikację z bazą danych.
Referencje:
- Pobieranie danych z SQL za pomocą aplikacji C# Metro
- Udostępnij System.Data aplikacjom w stylu Metro
- WinRT System.Data - Połącz z SQL
Chociaż te linki mają w tytule SQL, tak naprawdę dotyczą łączenia aplikacji metra bezpośrednio z dowolną bazą danych.
Oto fragment odpowiedzi pod jednym z powyższych linków:
Pytanie uzupełniające w komentarzu:
Kiedy próbowałem tego, mogłem odwołać się do MongoDB.Bson.dll
sam i projekt się buduje, ale raz odwołałem się do MongoDB.Driver.dll
Dostałem tę samą wiadomość co ty.
Wygląda na to, że zarówno sterownik sql, jak i sterownik mongodb wymagają System.Data.dll
, do którego można odwoływać się bezpośrednio w standardowej aplikacji winforms/wpf (ale prawdopodobnie nie powinno), ale do którego nie można odwoływać się bezpośrednio w aplikacji Metro.
Powiedziałbym, że konieczny jest dostęp do System.Data
jeśli chcesz korzystać z MongoDB. Musisz więc utworzyć osobny projekt, który odwołuje się do sterownika MongoDB i faktycznie wykonuje połączenia z bazą danych, i udostępnia ten projekt aplikacji Metro za pośrednictwem wywołań WCF lub usługi sieci Web. Potrzebujesz tylko czegoś, co znajduje się między aplikacją metra a bazą danych, ponieważ nie możesz połączyć się z nią bezpośrednio.
Wiem, że wydaje się to komplikować sprawy, zwłaszcza jeśli próbujesz się pobawić, ale najwyraźniej jest to decyzja projektowa, którą Microsoft podjął w odniesieniu do swoich aplikacji metra.