internal T Get <T>(int id, ISqlLiteDataObjectCrud <T> crud) where T : class, ISqlLiteDataObject { lock (Locker) { Connection = new SqliteConnection("Data Source=" + Path); Connection.Open(); using (var command = Connection.CreateCommand()) { command.CommandText = crud.Read(); command.Parameters.Add(new SqliteParameter(DbType.Int32) { Value = id }); var r = command.ExecuteReader(); while (r.Read()) { var thing = crud.FromReader(r); return(thing); } } Connection.Close(); } return(null); }