protected function assignValue(FieldInterface $field)
    {
        $value = $this->accessor->getPropertyValue($this->instance, $field->name());

        if ($value === null && $field->attribute('autoincrement')) {
            return;
        }

        if ($value === null) {
            $this->getValueFromReferencedEntity($field);
        }

        $this->builder->setValue(
            $this->connection->quoteIdentifier($field->mappedName()),
            $this->builder->createNamedParameter($value, $field->type())
        );
    }