internal IEnumerable <T> GetAll <T>(ISqlLiteDataObjectCrud <T> crud) where T : class, ISqlLiteDataObject { var tl = new List <T>(); lock (Locker) { Connection = new SqliteConnection("Data Source=" + Path); Connection.Open(); using (var contents = Connection.CreateCommand()) { contents.CommandText = crud.ReadAll(); var r = contents.ExecuteReader(); while (r.Read()) { tl.Add(crud.FromReader(r)); } } Connection.Close(); } return(tl); }