Respostas:
14/06/2016 Sim ... ainda recebendo votos: - /
17/03/2014 Ainda estou recebendo votos positivos por isso, lembre-se da data em que isso foi respondido originalmente. Embora os três principais itens listados ainda sejam totalmente viáveis, a lista tenderá a ficar obsoleta. Existem outras tecnologias de banco de dados disponíveis que não estão listadas.
Você tem algumas opções imediatamente reconhecíveis e gratuitas:
O download do SQL Server Compact vem com o provedor ADO.NET que você precisará fazer referência no código. O download do SQLite pode não ter, então aqui está um link:
http://sqlite.phxsoftware.com/
Todos os três usam SQL, embora provavelmente com algumas limitações / peculiaridades. O Management Studio funciona com o Compact e o LocalDB, enquanto que com o SQLite você precisará de outra ferramenta de interface do usuário, como o SQLite Administrator:
http://sqliteadmin.orbmu2k.de/
Existem alternativas NoSQL, como:
Pessoalmente, eu evitaria usar o MS Access em face de outras opções gratuitas. Você não pode dar errado com o LocalDB, Compact ou SQLite. Todos eles são bancos de dados pequenos e adoráveis, que são executados relativamente rapidamente em pouca RAM - preferência pessoal quanto aos aspectos religiosos de gostar de um produto da Microsoft, suponho :-)
Eu uso a programação do Sterling para Windows Phone, pois foi criada para usar o Armazenamento Isolado. Eu só vi artigos no RavenDb, mas posso dizer que é uma estrutura de armazenamento de documentos baseada em JSON.
Para não confundir a situação (vá com SQLite, SQL Server Express LocalDB ou SQL Server Compact Edition), mas existem outros bancos de dados locais / incorporados por aí, alguns são relacionais, outros são orientados a objetos:
Nem todos são gratuitos. O suporte a SQL / LINQ / in-proc difere em todos eles. Esta lista é apenas por curiosidade.
Agora também há Karvonite , no entanto, o link da galeria de códigos está quebrado. Quando estiver ao vivo novamente, analisarei este para o desenvolvimento do WP7.
Eu recomendaria SQLite . Estamos usando-o para quase todos os aplicativos que desenvolvemos onde trabalho.
É pequeno e compacto. Requer que uma DLL esteja no diretório do aplicativo, mas você não precisa ter outro software instalado, como o Access ou o SQL Server. Além disso, como afirma danielkza abaixo, "SQLite é de domínio público, portanto você não precisa se preocupar com o licenciamento". Isso pode realmente fazer uma grande diferença.
Você pode usar System.Data.SQLite ou csharp-sqlite para acessá-lo em um aplicativo C # usando os mesmos métodos que os do SQL ou OleDB.
Você também precisará de um aplicativo para editar / gerenciar o banco de dados. O melhor na minha opinião é SQLite Studio . Aqui estão mais algumas:
Admin do
SQLite SQLite 2009 Pro (parte inferior da página)
Atualização - 25/7/11 - Mais aplicativos SQLite (pergunta aqui no SO)
Veja mais sobre SQLite:
SQLite na Wikipedia
Empresas que usam SQLite
Funções personalizadas: Além disso, se você estiver procurando nas funções principais do SQLite e não encontrar uma que goste, pode criar suas próprias funções personalizadas. Aqui estão alguns exemplos:
Do exemplo do SO
Anoter
Firebird incorporado pode ser uma boa escolha
A versão incorporada é uma variação incrível do servidor. É um servidor Firebird completo, com poucos arquivos. É muito fácil de implantar, pois não há necessidade de instalar o servidor.
Existem alguns drivers de ponto líquido muito bons
SQL Server Compact se você deseja usar a solução oficial da Microsoft. Isso tem a vantagem de poder usar a replicação com o SQL server se você precisar desse tipo de coisa.
SQLite se você quiser algo muito simples, pequeno e gratuito. Isso é o que o Android usa para seus bancos de dados internos, por isso é muito bem suportado e há muito boas ligações .NET disponíveis.
Uma vantagem distinta do SQLite é que ele é multiplataforma. Portanto, se você quisesse portar seu aplicativo para o Mono.NET, não teria nenhuma modificação a fazer na implementação do banco de dados.
Não gosto do MS Access para esta solução, mas muitas pessoas a incluíram em sua resposta. É limitado devido ao formato proprietário e à dependência da plataforma. Mas tem suas vantagens. Você pode manipular os dados facilmente se tiver uma cópia do MS Access, criar consultas graficamente e criar macros. Você pode integrá-lo facilmente ao restante do MS Office.
De todas essas SQLite, seria minha recomendação, por ser tão compacta, bem documentada e suportada por um exército crescente de colegas desenvolvedores, independentemente da plataforma.
EDITAR
Percebi que há outra opção que todo mundo aqui esqueceu de mencionar
Desde que você não precise de tabelas relacionais, poderá usar o arquivo CSV lido como um conjunto de dados via ADO.NET. (Mais uma sugestão lulz do que qualquer outra coisa, mas seria adequado em alguns casos e não requer bibliotecas adicionais para uma implantação do MS.
Se você estiver criando um projeto com .NET 4.0.2 ou superior e desejar suporte a banco de dados incorporado, considere o SQL Server Express LocalDB .
É uma adição relativamente nova à família Express, que possui uma área de instalação menor e sobrecarga de gerenciamento reduzida (quando comparado a outras edições do Express), mas mantém os aspectos de programação do SQL Server. Ou seja, diferente do Compact Edition, o LocalDB não requer a instalação de um provedor ADO.NET separado para se comunicar com o SQL.
Consulte o seguinte para obter mais detalhes:
SQL Express v LocalDB v SQL Compact Edition (Blogs do MSDN)
SQL LocalDB vs SQL Server CE (Estouro de Pilha)
e http://en.wikipedia.org/wiki/NoSQL_(RDBMS) ?
em particular o MongoDB for .Net
Você pode usar Sql Server Express Edition
como gratuito e é igualmente poderoso até e a menos que queira funcionalidades como mirroring
etc. Dê uma olhada nisso .
Eu usei o db4o com sucesso.
Comunidade grande, baseada em arquivos, simples de usar.
Detalhes de Licenciamento
Licença Pública Geral Grátis db4o está licenciada sob a GPL por padrão.
A licença GPL é ideal se você planeja usar o db4o internamente ou planeja desenvolver e distribuir seu próprio trabalho derivado como software livre sob a GPL também.
Licença Comercial É necessária uma licença comercial se você deseja incorporar o db4o em um produto comercial que não seja da GPL. Os licenciados comerciais obtêm acesso a serviços e suporte premium.
Uma alternativa que não foi mencionada se você não precisar que seja um banco de dados gratuito é o VistaDB. É todo o código gerenciado, oferece vários recursos para um banco de dados incorporado e oferece um desempenho muito bom. Uma ponte muito boa entre o SQL CE e o SQL Server Express, já que a maioria dos procedimentos armazenados do VistaDB será executada sem modificação no SQL Server Express. Também fiquei bastante satisfeito com o atendimento ao cliente neste momento. Eu tenho usado no trabalho. Não há serviços para iniciar. Um banco de dados vazio tem cerca de 1 MB e a DLL também é bastante leve. Tem provedores ADO.NET e coisas assim. Eu gostei um pouco.
SQL Server Express ou MS Access