# File lib/dm-core/resource.rb, line 86
    def key
      return @key if defined?(@key)

      key = model.key(repository_name).map do |property|
        original_attributes[property] || (property.loaded?(self) ? property.get!(self) : nil)
      end

      return unless key.all?

      # memoize the key if the Resource is not frozen
      @key = key unless frozen?

      key
    end