anchor.diff:      override this.EntityBuilder() = GenericBusinessBuilder.GenericEntityBuilder<'TDTO, 'TEntity>()
       abstract Single : 'TKey -> 'TDTO
       override this.Single(id) = 
  -        this.DTOBuilder().BuildFull(match this.Set() |> Seq.tryFind (fun t -> t.ID.Equals(id)) with
  -                                    | None -> null
  -                                    | Some(value) -> value)
  +        let item = query {
  +            for item in this.Set() do
  +            where (item.ID.Equals(id))
  +            headOrDefault
  +        }
  +        this.DTOBuilder().BuildFull(item)
   
   and [<AbstractClass>] BaseUnitOfWorkManager(uow : IUnitOfWork) = 
       let unitOfWork = uow
  
positive.code:     abstract Delete : 'TDTO -> unit
      
      override this.Delete(dto : 'TDTO) = 
          let entity = 
              match this.Set() |> Seq.tryFind (fun t -> t.ID = dto.ID) with
              | None -> null
              | Some(value) -> value
          this.Set().Remove(entity) |> ignore
      
      abstract Delete : 'TKey -> unit
  
negative.code:     abstract Update : 'TDTO -> unit
      
      override this.Update(dto) = 
          let entity = query {
              for item in this.Set() do
              where (item.ID.Equals(dto.ID))
              headOrDefault
          }
          
          let newEntity : ref<'TEntity> = ref null
          this.EntityBuilder().Build(dto, newEntity)
  