Respuestas:
14/06/2016 Sí ... sigue recibiendo votos a favor: - /
17/03/2014 Todavía estoy recibiendo votos a favor por esto, tenga en cuenta la fecha en que se respondió originalmente. Aunque los tres elementos principales enumerados siguen siendo completamente viables, la lista tenderá a volverse obsoleta. Hay más tecnologías de bases de datos disponibles que no están en la lista.
Tiene un par de opciones inmediatamente reconocibles y gratuitas:
La descarga de SQL Server Compact viene con el proveedor ADO.NET al que deberá hacer referencia en el código. Es posible que la descarga de SQLite no lo tenga, así que aquí hay un enlace:
http://sqlite.phxsoftware.com/
Los tres usan SQL, aunque probablemente con algunas limitaciones / peculiaridades. Management Studio funciona con Compact y LocalDB, mientras que con SQLite necesitará otra herramienta de interfaz de usuario como SQLite Administrator:
http://sqliteadmin.orbmu2k.de/
Hay alternativas NoSQL, como:
Personalmente, evitaría usar MS Access frente a otras opciones gratuitas. No puedes equivocarte con LocalDB, Compact o SQLite. Todas son pequeñas y encantadoras bases de datos que se ejecutan relativamente rápido en poca RAM: preferencia personal en cuanto a los aspectos religiosos de que me guste un producto de Microsoft, supongo :-)
Uso la programación de Sterling para Windows Phone, ya que está diseñada para usar el almacenamiento aislado. Solo he visto artículos sobre RavenDb, pero puedo decirle que es un marco de almacenamiento de documentos basado en JSON.
Para no confundir la situación (vaya con SQLite, SQL Server Express LocalDB o SQL Server Compact Edition), pero hay otras bases de datos integradas / locales, algunas son relacionales y otras están orientadas a objetos:
No todos estos son gratuitos. El soporte SQL / LINQ / in-proc difiere entre todos ellos. Esta lista es solo por curiosidad.
Ahora también está Karvonite , sin embargo, el enlace de la galería de códigos está roto. Cuando vuelva a estar en vivo, buscaré este para el desarrollo de WP7.
Recomiendo SQLite . Lo estamos utilizando para casi todas las aplicaciones que desarrollamos donde trabajo.
Es pequeño y compacto. Requiere una DLL para estar en el directorio de la aplicación, pero no es necesario que tenga otro software instalado como Access o SQL Server. Además, como lo indica danielkza a continuación, "SQLite es de dominio público, por lo que no tiene que preocuparse en absoluto por las licencias". Eso realmente puede hacer una gran diferencia.
Puede usar System.Data.SQLite o csharp-sqlite para acceder a él en una aplicación C # usando los mismos métodos que SQL u OleDB.
También necesitará una aplicación para editar / administrar la base de datos. El mejor en mi opinión es SQLite Studio . Aquí hay un par más:
SQLite Admin
SQLite 2009 Pro (parte inferior de la página)
Actualización - 25/07/11 - Más aplicaciones SQLite (pregunta aquí sobre SO)
Aquí hay más sobre SQLite:
SQLite en Wikipedia
Empresas que usan SQLite
Funciones personalizadas: además, si está buscando en las funciones principales de SQLite y no ve una que le guste, puede crear sus propias funciones personalizadas. Aquí hay un par de ejemplos: del ejemplo
SO
Anoter
Firebird integrado puede ser una buena opción
La versión incrustada es una sorprendente variación del servidor. Es un servidor Firebird con todas las funciones empaquetado en solo unos pocos archivos. Es muy fácil de implementar, ya que no es necesario instalar el servidor.
Hay algunos muy buenos controladores de red de puntos
SQL Server Compact si desea utilizar la solución oficial de microsoft. Esto tiene la ventaja de poder usar la replicación con el servidor SQL si necesita ese tipo de cosas.
SQLite si quieres algo muy simple, pequeño y gratis. Esto es lo que Android usa para sus bases de datos internas, por lo que es muy compatible y hay muy buenos enlaces .NET disponibles.
Una ventaja distintiva de SQLite es que es multiplataforma. Entonces, si quisiera portar su aplicación a Mono.NET, entonces no tendría que realizar modificaciones en la implementación de la base de datos.
No me gusta MS Access para esta solución, pero mucha gente la ha incluido en su respuesta. Está limitado debido al formato propietario y la dependencia de la plataforma. Sin embargo, tiene sus ventajas. Puede manipular datos fácilmente si tiene una copia de MS Access, puede crear consultas gráficamente y crear macros. Puede integrarlo fácilmente con el resto de MS Office.
De todos estos SQLite sería mi recomendación debido a que es tan compacto, bien documentado y respaldado por un creciente ejército de colegas desarrolladores, independientemente de la plataforma.
EDITAR
Me di cuenta de que hay otra opción que todos aquí olvidaron mencionar
Mientras no necesite tablas relacionales, puede usar el archivo CSV leído como un conjunto de datos a través de ADO.NET. (Más una sugerencia lulz que cualquier otra cosa, pero sería adecuada en algunos casos y no requiere bibliotecas adicionales para una implementación de MS.
Si está creando un proyecto con .NET 4.0.2 o superior y desea compatibilidad con bases de datos integradas, considere SQL Server Express LocalDB .
Es una adición relativamente nueva a la familia Express que presenta un espacio de instalación más pequeño y una sobrecarga administrativa reducida (en comparación con otras ediciones de Express), pero mantiene los aspectos de programabilidad de SQL Server. Es decir, a diferencia de Compact Edition, LocalDB no requiere la instalación de un proveedor ADO.NET separado para comunicarse con SQL.
Vea lo siguiente para más detalles:
SQL Express v LocalDB v SQL Compact Edition (Blogs de MSDN)
SQL LocalDB vs SQL Server CE (desbordamiento de pila)
¿Qué pasa con http://en.wikipedia.org/wiki/NoSQL_(RDBMS) ?
en particular MongoDB para .Net
Podrías usarlo Sql Server Express Edition
como gratis y es igualmente poderoso hasta y a menos que quieras una funcionalidad como mirroring
etc. Echa un vistazo a esto .
He usado db4o con éxito.
Basada en archivos, gran comunidad, fácil de usar.
Detalles de licencia
Licencia pública general gratuita db4o se licencia bajo la GPL por defecto.
La licencia GPL es ideal si planea usar db4o internamente o si planea desarrollar y distribuir su propio trabajo derivado como software libre también bajo la GPL.
Licencia comercial Se requiere una licencia comercial si desea incrustar db4o en un producto comercial no GPL. Los licenciatarios comerciales obtienen acceso a servicios y soporte premium.
Una alternativa que no se ha mencionado si no requiere que sea una base de datos gratuita es VistaDB. Todo es código administrado, proporciona toneladas de características para una base de datos integrada y ofrece un rendimiento bastante bueno. Un puente bastante bueno entre SQL CE y SQL Server Express ya que la mayoría de los procedimientos almacenados de VistaDB se ejecutarán sin modificaciones en SQL Server Express. También he estado bastante satisfecho con el servicio al cliente en este momento. Lo he estado usando en el trabajo. No hay servicios para comenzar. Una base de datos vacía es de alrededor de 1 MB y la DLL también es bastante ligera. Tiene proveedores de ADO.NET y esas cosas. Me ha gustado mucho.
SQL Server Express o MS Access