anchor.diff:          result
       
       abstract AllFull : int * int * seq<Sort> * Filter * Expression<Func<'TEntity, bool>> -> DataSourceResult<'TDTO>
  +    
       override this.AllFull(take, skip, sort, filter, whereFunc) = 
           let queryResult = this.All(whereFunc).OrderBy(fun t -> t.ID).ToDataSourceResult(take, skip, sort, filter)
           let result = DataSourceResult<'TDTO>()
  
positive.code:     abstract EntityBuilder : unit -> BaseEntityBuilder<'TDTO, 'TEntity>
      override this.EntityBuilder() = GenericBusinessBuilder.GenericEntityBuilder<'TDTO, 'TEntity>()
      abstract Single : 'TKey -> 'TDTO
      override this.Single(id) = 
          let item = query {
              for item in this.Set() do
              where (item.ID.Equals(id))
              headOrDefault
          }
          this.DTOBuilder().BuildFull(item)
  
      member this.AllAsync(take, skip, sort, filter, whereFunc) = async { return this.All(take, skip, sort, filter, whereFunc) } |> Async.StartAsTask
      member this.SingleAsync(id) = async { return this.Single(id) } |> Async.StartAsTask
  
  and [<AbstractClass>] BaseUnitOfWorkManager(uow : IUnitOfWork) = 
      let unitOfWork = uow
      member this.GetDbSet<'TEntity, 'TDTO, 'TKey when 'TKey :> IEquatable<'TKey> and 'TEntity :> IEntity<'TKey> and 'TEntity : not struct and 'TDTO :> IDTO<'TKey> and 'TEntity : equality and 'TEntity : null and 'TDTO : equality and 'TDTO : null and 'TKey : equality>(repository : BaseRepository<'TEntity, 'TDTO, 'TKey>) = 
          repository.DbSetFuncGetter().Invoke(uow.Context())
      member this.SaveChanges() = uow.Context().SaveChanges()
      member this.SaveChangesAsync() = async { return! uow.Context().SaveChangesAsync() |> Async.AwaitTask }
      member this.Entry<'TEntity>(entity : 'TEntity) = uow.Context().Entry(entity)
  
  [<AbstractClass>]
  type BaseCRUDRepository<'TEntity, 'TDTO, 'TKey when 'TKey :> IEquatable<'TKey> and 'TEntity :> IEntity<'TKey> and 'TEntity : not struct and 'TDTO :> IDTO<'TKey> and 'TEntity : equality and 'TEntity : null and 'TDTO : equality and 'TDTO : null and 'TKey : equality>(manager) = 
  
negative.code:         | _ -> this.Set().Where(whereExpr)
      
      abstract All : int * int * seq<Sort> * Filter * Expression<Func<'TEntity, bool>> -> DataSourceResult<'TDTO>
      
      override this.All(take, skip, sort, filter, whereFunc) = 
          let queryResult = this.All(whereFunc).OrderBy(fun t -> t.ID).ToDataSourceResult(take, skip, sort, filter)
          let result = DataSourceResult<'TDTO>()
  