Pregunta

Estoy haciendo este programa de utilidad pequeña (Windows Forms) y tendría que ahorrar un poco de datos en el disco. En términos DB sería alrededor de una mesa, no más de aproximadamente par de miles de filas, siendo cada fila a menos de 1 KB de tamaño.

Lo usarías?

Alta: Se olvidó de decir - que sería muy interesante si todo el programa sería sólo un archivo .EXE (más el archivo de datos, por supuesto). Por lo tanto yo preferiría algo que se construye en .NET.

¿Fue útil?

Solución

SQLite .Es pequeñas y tienen gran envoltura para .Net.

Otros consejos

O theres esent, el construido en la base de datos que existe en cada copia de Windows. Leer sobre ello aquí: http : //ayende.com/Blog/archive/2008/12/23/hidden-windows-gems-extensible-storage-engine.aspx

Si te sientes valiente, he juntado un documento sencillo db PieDb (como en ' fácil como).

Se puede usar SQL Server Compact Edition (incluido en Visual Studio), o SQLite .

Hay muchos otros, pero estos son los más comunes.

Soy un gran fan de SQLite, porque es pequeño, sencillo y rápido. Hay una ADO.NET proveedor impresionante para él, lo que es compatible con el marco de la entidad.

Si se trata de una sola tabla, no puedo ver bien por qué siente que tiene que utilizar una base de datos relacional para lograr sus objetivos. ¿Qué hay de un solo archivo?

Por supuesto, dependiendo de la razón que necesita para almacenar la información, y la forma en que los datos se relaciona, no puede haber una razón para que usted necesita una base de datos. Sin embargo, usted debe considerar si una base de datos es en realidad lo que necesita en este caso.

Una base de datos relacional no debe ser el estándar de facto para el almacenamiento de datos. Hay muchas muchas alternativas que debe considerar antes de seleccionar el RDBMS.

El post de mcintyre321 Véase por ejemplo.

Si ya estás utilizando una base de datos incrustada, a continuación, SQL Server Compact Edition es probablemente su mejor apuesta seguida por SQLite como un cercano segundo lugar.

Si estamos hablando de una mesa, suena como una base de datos incrustada podría ser excesiva y podría ser mejor servido por un simple archivo de texto.

Se puede crear una matriz de su clase, marcarlo [Serializable] y sólo tiene que utilizar las incorporadas de serializar métodos deserializar / para la persistencia.

Me segundos el voto para SQLite. SQL Server CE es demasiado pesada para cualquier propósito incorporados a menos que necesite una fácil sincronización con una base de datos central -. Entonces es fantástica

El puerto de .NET SQLite es en http://code.google.com/ p / csharp-sqlite / . Es pura .NET por lo que podría ILMerge en un solo .exe

Para algo tan pequeño y simple que probablemente vaya con XML y no utilizar una base de datos. Si el código CRUD abstracta que más tarde puede modificar la parte de capa de datos del código para que utilice una base de datos cuando los datos crece en tamaño y complejidad.

Una vez investigué mismo problema. De todos los candidatos posibles dos se veía bien. Estos son SQLite y Firebird (firebirdsql.org). Pero el pájaro de fuego tenía algunas características más que SQLite.

UPD: Aquí una información interesante acerca de pájaro de fuego + dotnet http://www.firebirdsql.org/dotnetfirebird/embedded/index.html

Berkeley DB es también una opción buena para la base de datos integrada. Y hay una biblioteca que proporciona una interfaz de .NET 2.0 para ello.

Si no tiene por qué ser una base de datos compatible con SQL, entonces yo también mirar a Db4o. Db4o es una base de datos de objetos para Java y .NET. La versión .NET está completamente escrito en C #.

Me segunda SQL Lite o un simple archivo XML con el escritor desinflado para minimizar el tamaño. Rápido y no tan sucio.

Prueba con esto: https://github.com/mdsoftware/mData . No hay 3 partes, incluidas todas las fuentes, algunas buenas cosas como Lisp procesamiento de datos y compilador de expresión también se incluye. He tratado de hacer algo muy simple pero funcional.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top