Parece
system.data
não está disponível para aplicativos metropolitanos. O consenso geral parece ser que você terá que criar uma camada intermediária de "intermediário" (usando uma tecnologia como WCF) para permitir que seu aplicativo metropolitano se comunique com o banco de dados. Referências:
- Recuperando dados do SQL usando o aplicativo Metro C#
- Disponibilize System.Data para aplicativos estilo Metro
- WinRT System.Data - Conectar ao SQL
Embora esses links tenham SQL no título, eles realmente abordam a conexão de aplicativos metropolitanos diretamente a qualquer banco de dados.
Aqui está um pouco de uma resposta em um dos links acima:
Pergunta complementar no comentário:
Quando tentei isso, pude fazer referência a
MongoDB.Bson.dll
por si só e o projeto é compilado, mas uma vez eu referi MongoDB.Driver.dll
Recebi a mesma mensagem que você. Parece que o driver sql e o driver mongodb requerem
System.Data.dll
, que você pode referenciar diretamente em um aplicativo winforms/wpf padrão (mas provavelmente não deveria), mas que você não pode referenciar diretamente em um aplicativo metro. Eu diria que é necessário ter acesso a
System.Data
se você quiser usar o MongoDB. Portanto, você terá que criar um projeto separado que faça referência ao driver MongoDB e realmente execute as conexões com o banco de dados e torne esse projeto acessível ao seu aplicativo metropolitano por meio de chamadas WCF ou um serviço da web. Você só precisa de algo entre seu aplicativo Metro e o banco de dados, porque você não pode se conectar diretamente a ele. Eu sei que parece tornar as coisas mais complicadas, especialmente se você está apenas tentando brincar, mas aparentemente é uma decisão de design que a Microsoft fez em relação aos seus aplicativos metropolitanos.