public List <BaseChannelData> ReadManyBase(Expression <Func <Channel, bool> > filter = null) { if (filter == null) { filter = x => true; } List <Channel> fetchedChannels = ReadMany(filter); MessageCrud messageCrud = new MessageCrud(); var baseChannels = new List <BaseChannelData>(); foreach (Channel channel in fetchedChannels) { Message.Message lastMessage = messageCrud.ReadLatest(channel._id); baseChannels.Add(channel.ToBaseChannelData(lastMessage)); } return(baseChannels); }