public static TSelect Find <TEntity, TOptions, TSelect, TId>(
     this IIdCrudService <TEntity, TOptions, TId> service, TId id, Expression <Func <TEntity, TSelect> > select,
     object context = null)
     where TEntity : IIdEntity <TId> where TOptions : ICrudServiceOptions => service.Find(id, select,
                                                                                          context == null
             ? DefaultCrudServiceOptions.Default <TOptions>()
                                                                                          : DefaultCrudServiceOptions.FromContext <TOptions>(context));
 public static bool Delete <TEntity, TOptions, TId>(
     this IIdCrudService <TEntity, TOptions, TId> service, TId id, object context = null)
     where TEntity : IIdEntity <TId> where TOptions : ICrudServiceOptions => service.Delete(id,
                                                                                            context == null
             ? DefaultCrudServiceOptions.Default <TOptions>()
                                                                                            : DefaultCrudServiceOptions.FromContext <TOptions>(context));
 public static Task <bool> UpdateAsync <TEntity, TOptions, TId>(
     this IIdCrudService <TEntity, TOptions, TId> service, TId id, TEntity newValues, object context = null)
     where TEntity : IIdEntity <TId> where TOptions : ICrudServiceOptions => Task.Run(() => service.Update(id, newValues,
                                                                                                           context == null
             ? DefaultCrudServiceOptions.Default <TOptions>()
                                                                                                           : DefaultCrudServiceOptions.FromContext <TOptions>(context)));
 public static Task <TEntity> FindAsync <TEntity, TOptions, TId>(
     this IIdCrudService <TEntity, TOptions, TId> service, TId id, object context = null)
     where TEntity : IIdEntity <TId> where TOptions : ICrudServiceOptions => Task.Run(() => service.Find(id,
                                                                                                         context == null
             ? DefaultCrudServiceOptions.Default <TOptions>()
                                                                                                         : DefaultCrudServiceOptions.FromContext <TOptions>(context)));