public async Task <IReadOnlyList <Record> > GetAllRecords(RecordType type, string name)
        {
            var list = new List <Record>();
            var res  = await RecordCollection.FindAsync(x => x.Type == type && x.Name == name);

            await res.ForEachAsync(r =>
            {
                list.Add(new Record(new ByteString(r.Key), new ByteString(r.Value), new ByteString(r.Version)));
            }

                                   );

            return(list.AsReadOnly());
        }
        public async Task <IReadOnlyList <Record> > GetKeyStartingFrom(ByteString prefix)
        {
            var prefixS = Encoding.UTF8.GetString(prefix.ToByteArray());
            var list    = new List <Record>();
            var res     = await RecordCollection.FindAsync(x => x.KeyS.StartsWith(prefixS));

            await res.ForEachAsync(r =>
            {
                list.Add(new Record(new ByteString(r.Key), new ByteString(r.Value), new ByteString(r.Version)));
            }

                                   );

            return(list.AsReadOnly());
        }