Solución de ejemplo del post Lex.DB Generic DataAccess methods

#dc comics#batman#dc#tim drake#batfam#batfamily#bruce wayne#dick grayson#dc fanart


seen from United States
seen from United States
seen from United States

seen from United States
seen from China
seen from China
seen from China
seen from China

seen from United States

seen from Canada

seen from South Africa
seen from Canada
seen from Türkiye
seen from China
seen from China
seen from China

seen from Australia
seen from Philippines
seen from United States
seen from United States
Solución de ejemplo del post Lex.DB Generic DataAccess methods

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch • No registration required • HD streaming
Lex.DB Generic DataAccess methods
Últimamente estoy trabajando con Lex.DB, una base de datos creada por Lex que ofrece algunas ventajas respecto a SQLite y que tiene un rendimiento muy convincente. Además ofrece la opción de usarse en proyectos Portable Class Library, con lo que todavía se vuelve más interesante.
El caso es que tras darle una vuelta de tuerca al ejemplo escrito en la página de Nokia Developer decidí hacer genéricos los métodos de la clase DataAccess, sobretodo para no escribir una y otra vez los métodos GET, UPDATE y REMOVE y bueno, aquí está el resultado.
public class DataAccess { DbInstance _db; public DataAccess() { _db = new DbInstance("LexDB"); // añadimos todas las tablas _db.Map<Customer>().Automap(i => i.Id, true); _db.InitializeAsync(); } /// <summary> /// Obtiene un ítem por id /// </summary> /// <typeparam name="T"></typeparam> /// <param name="lexId"></param> /// <returns></returns> public Task<T> Get<T>(int lexId) where T : class { return _db.Table<T>().LoadByKeyAsync(lexId); } /// <summary> /// Obtiene todos los ítems de una tabla /// </summary> /// <typeparam name="T"></typeparam> /// <returns></returns> public async Task<IEnumerable<T>> Get<T>() where T : class { return (await _db.Table<T>().LoadAllAsync()).AsEnumerable(); } /// <summary> /// Obtiene el último ítem de una tabla /// </summary> /// <typeparam name="T"></typeparam> /// <returns></returns> public T GetLast<T>() where T : class { return _db.Table<T>().LastOrDefault(); } /// <summary> /// Guarda un ítem /// </summary> /// <typeparam name="T"></typeparam> /// <param name="item"></param> /// <returns></returns> public Task Update<T>(T item) where T : class { return _db.Table<T>().SaveAsync(item); } /// <summary> /// Elimina un ítem /// </summary> /// <typeparam name="T"></typeparam> /// <param name="item"></param> /// <returns></returns> public Task<bool> Remove<T>(T item) where T : class { return _db.Table<T>().DeleteAsync(item); } /// <summary> /// Elimina todos los datos de una tabla /// </summary> /// <typeparam name="T"></typeparam> /// <returns></returns> public Task Purgue<T>() where T : class { return _db.Table<T>().PurgeAsync(); } }