Réponses:
14/06/2016 Oui ... toujours en hausse: - /
17/03/2014 Je reçois toujours des upvotes pour ceci, soyez conscient de la date à laquelle cela a été répondu à l'origine. Bien que les trois principaux éléments répertoriés soient encore entièrement viables, la liste aura tendance à devenir obsolète. Il existe d'autres technologies de base de données disponibles qui ne sont pas répertoriées.
Vous avez quelques options immédiatement reconnaissables et gratuites:
Le téléchargement de SQL Server Compact est fourni avec le fournisseur ADO.NET que vous devrez référencer dans le code. Le téléchargement de SQLite peut ne pas l'avoir alors voici un lien:
http://sqlite.phxsoftware.com/
Tous les trois utilisent SQL, bien que probablement avec quelques limitations / bizarreries. Management Studio fonctionne avec Compact et LocalDB, alors qu'avec SQLite, vous aurez besoin d'un autre outil d'interface utilisateur tel que SQLite Administrator:
http://sqliteadmin.orbmu2k.de/
Il existe des alternatives NoSQL, telles que:
Personnellement, j'éviterais d'utiliser MS Access face à d'autres options gratuites. Vous ne pouvez pas vous tromper avec LocalDB, Compact ou SQLite. Ce sont toutes de jolies petites bases de données qui fonctionnent relativement rapidement dans peu de RAM - préférence personnelle quant aux aspects religieux de l'appréciation d'un produit Microsoft, je suppose :-)
J'utilise Sterling pour la programmation Windows Phone car il est conçu pour utiliser le stockage isolé. Je n'ai vu que des articles sur RavenDb, mais je peux vous dire qu'il s'agit d'un cadre de stockage de documents basé sur JSON.
Ne pas confondre la situation (utilisez SQLite, SQL Server Express LocalDB ou SQL Server Compact Edition), mais il existe d'autres bases de données intégrées / locales, certaines sont relationnelles, d'autres sont orientées objet:
Tous ne sont pas gratuits. La prise en charge de SQL / LINQ / in-proc diffère entre eux. Cette liste est juste pour la curiosité.
Il y a maintenant aussi Karvonite , mais le lien de la galerie de code est rompu. Quand il sera à nouveau en ligne, je vais examiner celui-ci pour le développement de WP7.
Je recommanderais SQLite . Nous l'utilisons pour presque toutes les applications que nous développons là où je travaille.
C'est petit et compact. Il faut qu'une DLL soit dans le répertoire de l'application, mais vous n'avez pas besoin d'installer d'autres logiciels comme Access ou SQL Server. De plus, comme indiqué par danielkza ci-dessous, "SQLite est du domaine public, vous n'avez donc pas à vous soucier des licences." Cela peut vraiment faire une grande différence.
Vous pouvez utiliser System.Data.SQLite ou csharp-sqlite pour y accéder dans une application C # en utilisant les mêmes méthodes que celles de SQL ou OleDB.
Vous aurez également besoin d'une application pour éditer / gérer la base de données. Le meilleur à mon avis est SQLite Studio . En voici quelques autres:
SQLite Admin
SQLite 2009 Pro (bas de la page)
Mise à jour - 25/07/11 - Plus d'applications SQLite (question ici sur SO)
En savoir plus sur SQLite:
SQLite sur Wikipedia
Entreprises qui utilisent SQLite
Fonctions personnalisées: en plus, si vous recherchez dans les fonctions SQLite Core et que vous n'en voyez pas une que vous aimez, vous pouvez créer vos propres fonctions personnalisées. Voici quelques exemples:
De l' exemple SO
Anoter
Firebird intégré peut être un bon choix
La version intégrée est une variante étonnante du serveur. C'est un serveur Firebird complet emballé dans seulement quelques fichiers. Il est très facile à déployer, car il n'est pas nécessaire d'installer le serveur.
Il existe de très bons pilotes dot net
SQL Server Compact si vous souhaitez utiliser la solution Microsoft officielle. Cela a l'avantage de pouvoir utiliser la réplication avec un serveur SQL si vous avez besoin de ce genre de chose.
SQLite si vous voulez quelque chose de très simple, petit et gratuit. C'est ce qu'Android utilise pour ses bases de données internes, il est donc très bien pris en charge et de très bonnes liaisons .NET sont disponibles.
Un avantage distinct de SQLite est qu'il est multiplateforme. Donc, si vous vouliez porter votre application sur Mono.NET, vous n'auriez aucune modification à apporter à l'implémentation de la base de données.
Je n'aime pas MS Access pour cette solution mais beaucoup de gens l'ont incluse dans leur réponse. Il est limité en raison du format propriétaire et de la dépendance à la plate-forme. Il a cependant ses avantages. Vous pouvez manipuler facilement les données si vous avez une copie de MS Access, vous pouvez créer des requêtes graphiquement et créer des macros. Vous pouvez facilement l'intégrer au reste de MS Office.
Parmi tous ces SQLite, ma recommandation serait car il est si compact, bien documenté et pris en charge par une armée croissante de collègues développeurs, quelle que soit la plate-forme.
ÉDITER
J'ai réalisé qu'il y a une autre option que tout le monde ici a oublié de mentionner
Tant que vous n'avez pas besoin de tables relationnelles, vous pouvez utiliser un fichier CSV lu comme un ensemble de données via ADO.NET. (Plus d'une suggestion de lulz qu'autre chose, mais conviendrait dans certains cas et ne nécessite pas de bibliothèques supplémentaires pour un déploiement MS.
Si vous créez un projet avec .NET 4.0.2 ou version ultérieure et que vous souhaitez une prise en charge de base de données incorporée, envisagez SQL Server Express LocalDB .
Il s'agit d'un ajout relativement récent à la famille Express qui présente une empreinte d'installation plus petite et des frais de gestion réduits (par rapport aux autres éditions d'Express), tout en conservant les aspects de programmabilité de SQL Server. Autrement dit, contrairement à Compact Edition, LocalDB ne nécessite pas l'installation d'un fournisseur ADO.NET distinct pour communiquer avec SQL.
Voir ce qui suit pour plus de détails:
SQL Express v LocalDB v SQL Compact Edition (blogs MSDN)
SQL LocalDB vs SQL Server CE (débordement de pile)
qu'en est-il de http://en.wikipedia.org/wiki/NoSQL_(RDBMS) ?
en particulier MongoDB pour .Net
Vous pouvez l'utiliser Sql Server Express Edition
gratuitement et est tout aussi puissant jusqu'à ce que et à moins que vous ne vouliez des fonctionnalités comme mirroring
etc. Jetez un œil à ceci .
J'ai utilisé db4o avec succès.
Basée sur un fichier, grande communauté, simple à utiliser.
Détails de la licence
Licence publique générale gratuite db4o est sous licence GPL par défaut.
La licence GPL est idéale si vous prévoyez d'utiliser db4o en interne ou si vous prévoyez de développer et de distribuer votre propre travail dérivé en tant que logiciel libre sous GPL également.
Licence commerciale Une licence commerciale est requise si vous souhaitez intégrer db4o dans un produit commercial non GPL. Les titulaires de licence commerciale ont accès à des services et à une assistance premium.
Une alternative qui n'a pas été mentionnée si vous n'avez pas besoin d'une base de données gratuite est VistaDB. Tout est du code géré, fournit des tonnes de fonctionnalités pour une base de données intégrée et offre de très bonnes performances. Un assez bon pont entre SQL CE et SQL Server Express puisque la majorité de vos procédures stockées VistaDB s'exécuteront sans modification dans SQL Server Express. Je suis également très satisfait du service client à ce stade. Je l'utilise au travail. Aucun service à démarrer. Une base de données vide fait environ 1 Mo et la DLL est également assez légère. A des fournisseurs ADO.NET et d'autres choses. J'ai bien aimé ça.
SQL Server Express ou MS Access