Introduccion a LiteDB en C# .NET- Base de datos NoSQL


LiteDB es un motor de base de datos local que no necesita un servidor y que ademas es NoSQL y la podemos usar en nuestros proyectos en C# .NET.

LiteDb o Litedatabase funciona unicamente con un archivo .dll el archivo LiteDb.dll y que solo lo debemos agregar como referencia en nuestro proyecto con C# .NET y esta listo para ser utilizado.

Sitio web: http://www.litedb.org/

Conexion

Una vez que descargamos el archivo LiteDB.dll y lo agregamos como referencia a  nuestro archivo, el siguiente paso es hacer una conexion, pero aqui la conexión se hace a un archivo.

No debemos olvidar agregar esto:

[code language=”csharp”]

using LiteDB;

[/code]

Y despues hacemos la conexion:

[code language=”csharp”] var db = new LiteDatabase("mydata.db");
[/code]

Es muy curioso que si el archivo no existe no habra problema por que se creara automaticamente.

Agregar registros

Para agregar registros o para cualquier operacion debemos crear un modelo de datos, y esto se hace creando una simple clase.

[code language=”csharp”]

public class Person
{
public int Id { get; set; }
public string Name { get; set; }
public string Lastname { get; set; }
public string Address { get; set; }
public string Phone { get; set; }
public string Email { get; set; }
}

[/code]

Y en mi caso esta clase para definir una persona.

Este modelo se usara para todo tipo de operaciones, tal como veremos mas adelante.

Y para agregar datos a la base de datos solo hay que instanciar el modelo y hacer lo siguiente:

[code language=”csharp”] var db = new LiteDatabase("mydata.db");
var col = db.GetCollection<Person>("person");
Person p = new Person();
p.Name = "John";
p.Lastname = "Doe";
col.Insert(p);
[/code]

Y asi facilmente agregamos un “registro” a la base de datos, hablamos de coleccion por que es la forma en que se definen las “tablas” de datos en base de datos NoSQL.
Podemos ver que llamamos el metodo GetCollection(“person”), donde es el modelo que estamos usando y (“person”) es la “tabla” donde se guardan los registros.

Mostrar registros

Para mostrar datos usaremos el metodo FindAll() que nos devolvera todos los registros de una coleccion, en proximos articulos veremos como hacer consultas personalizadas.

[code language=”csharp”] var db = new LiteDatabase("mydata.db");
var col = db.GetCollection<Person>("person");
var data = col.FindAll();
for(var d in data){
MessageBox.Show(d.Name);
}
[/code]

Actualizar un registro

Para actualizar un registro es necesario conocer el ID del registro que queremos actualizar y despues simplemente es cuestion de ejecutar el metodo Update()

[code language=”csharp”] var db = new LiteDatabase("mydata.db");
var col = db.GetCollection<Person>("person");
Person p = new Person();
p.Id = 1;
p.Name = "John";
p.Lastname = "Doe";
col.Update(p);
[/code]

Y asi se actualiza el registro con el ID =1

Eliminar un registro

Para eliminar registro de igual manera es necesario contar con el ID del registro y ejecutar el metodo Delete(id):

[code language=”csharp”] var db = new LiteDatabase("mydata.db");
var col = db.GetCollection<Person>("person");
col.Delete(1);
[/code]

Y con esto eliminamos un registro con ID=1.

Finalizando

Como pueden ver usar la libreria LiteDB es relativamentre facil y manejar datos y operaciones basicas, y lo mejor es que estamos usando una de las tecnologias mas nuevas y con mucho futuro.

Les invito a seguir mis tutoriales y mi blog ya que seguiremos hablando de esta libreria y también realizare proyectos que usen base de datos y esta librería me parecio genial por que se crean aplicaciones portables.

Leave a comment