# File lib/dm-core/collection.rb, line 838
    def destroy!
      if query.limit || query.offset > 0 || query.links.any?
        key        = model.key(repository.name)
        conditions = Query.target_conditions(self, key, key)

        unless model.all(:repository => repository, :conditions => conditions).destroy!
          return false
        end
      else
        repository.delete(self)
        mark_loaded
      end

      if loaded?
        each { |resource| resource.reset }
        clear
      end

      true
    end