¡Hola!
En algún post anterior ya había escrito de SQLite, ahora me gustaría compartirles algunas notas adicionales que he ido recolectando de cursos y experiencias.
Cómo utilizarlo en UWP
En el post que he mencionado anteriormente me ha faltado agregar UWP, los pasos adicionales a realizar es agregar la referencia a Microsoft Visual C++ 2013.
Y regresar la ruta del folder local con el siguiente código.
string path = ApplicationData.Current.LocalFolder.Path; string fullPath= Path.Combine(path, fileName); return new SQLiteConnection(fullPath);
Atributos soportados para definir esquemas
Aquí listo algunos de los atributos soportados por SQLite para definir tu esquema.
- [Table(name)]
- [Column(name)]
- [PrimaryKey]
- [AutoIncrement]
- [Indexed]
- [MaxLength(value)]
- [Unique]
- [NotNull]
- [Ignore]
Tipos de datos soportados y equivalentes
Esta es una tabla de los tipos de datos que soporta c# y a que tipo corresponden en SQLite.
C# type | SQLite type |
---|---|
int, long | integer, bigint |
bool | integer(1=true) |
float, double, decimal | real |
string, GUID | varchar |
DateTime | numeric or text |
byte[] | blob |
Transacciones
Puedes utilizar transacciones para asegurar operaciones atómicas, consistentes, aisladas y durables.
Con un código como el siguiente:
´connection.RunInTransactionAsync(connection=>{
// Operaciones
});´
Puntos adicionales
- Solo puedes ejecutar una operación a la vez, si no respetas este punto la base de datos puede llegar a lanzar una SQLiteException con el mensaje “corrupt”
- Si SQLite lanza una SQLiteException con el mensaje “corrupt” la base de datos necesita ser borrada y creada nuevamente.
Espero te sirva de guía rápida para utilizar SQLite en tu proyecto y seguramente actualizare este post con datos adicionales que me parezcan interesantes y útiles. Tú ¿Qué datos agregarías? Espero me ayudes a actualizar esta lista.
Por lo mientras me despido.
¡Saludos!
@SaturPimentel
Referencias
Documentación
https://www.sqlite.org/docs.html
Proyecto en GitHub