public function primary()
    {
        $columns = array_filter($this->_props, function($property) {
            return $property->type->options()->primary;
        });

        if(empty($columns))
            throw new Exception("No primary key defined for {$this->_class}");

        return $columns;
    }