/// <summary> /// Initialize from a source, every item is added by calling InsertOrUpdate /// </summary> /// <typeparam name="T"></typeparam> /// <param name="writer"></param> /// <param name="copyFrom"></param> /// <returns></returns> public static async Task Initialize <T>(this ITableWriter <T> writer, ITableReader <T> copyFrom) { var list = await copyFrom.GetAll(); foreach (var item in list) { var item1 = item; await writer.InsertOrUpdate(item, obj => item1); } }
public static async Task <ReaderMatch <IEnumerable <TEntity> > > QueryAll <TEntity>(this ITableReader <TEntity> reader, System.Linq.Expressions.Expression <Func <TEntity, bool> > query) { var items = await reader.GetAll(); if (items != null) { return(await Task.FromResult(new ReaderMatch <IEnumerable <TEntity> >(items.Where(query.Compile())))); } return(await Task.FromResult(new ReaderMatch <IEnumerable <TEntity> >(new TEntity[0]) { IsMatch = false })); }