/**
  * Delete entity
  *
  * @param \Magento\Eav\Model\Entity\Attribute\AbstractAttribute $object
  * @return $this
  */
 public function deleteEntity(\Magento\Eav\Model\Entity\Attribute\AbstractAttribute $object)
 {
     if (!$object->getEntityAttributeId()) {
         return $this;
     }
     $this->getConnection()->delete($this->getTable('eav_entity_attribute'), ['entity_attribute_id = ?' => $object->getEntityAttributeId()]);
     return $this;
 }
 /**
  * Delete entity
  *
  * @param \Magento\Eav\Model\Entity\Attribute\AbstractAttribute $object
  * @return $this
  * @throws \Magento\Framework\Exception\LocalizedException
  */
 public function deleteEntity(\Magento\Eav\Model\Entity\Attribute\AbstractAttribute $object)
 {
     if (!$object->getEntityAttributeId()) {
         return $this;
     }
     $result = $this->getEntityAttribute($object->getEntityAttributeId());
     if ($result) {
         $attribute = $this->_eavConfig->getAttribute($object->getEntityTypeId(), $result['attribute_id']);
         try {
             $this->attrLockValidator->validate($attribute, $result['attribute_set_id']);
         } catch (\Magento\Framework\Exception\LocalizedException $exception) {
             throw new \Magento\Framework\Exception\LocalizedException(__('Attribute \'%1\' is locked. %2', $attribute->getAttributeCode(), $exception->getMessage()));
         }
         $backendTable = $attribute->getBackend()->getTable();
         if ($backendTable) {
             $linkField = $this->metadataPool->getMetadata(ProductInterface::class)->getLinkField();
             $select = $this->getConnection()->select()->from($attribute->getEntity()->getEntityTable(), $linkField)->where('attribute_set_id = ?', $result['attribute_set_id']);
             $clearCondition = ['attribute_id =?' => $attribute->getId(), $linkField . ' IN (?)' => $select];
             $this->getConnection()->delete($backendTable, $clearCondition);
         }
     }
     $condition = ['entity_attribute_id = ?' => $object->getEntityAttributeId()];
     $this->getConnection()->delete($this->getTable('eav_entity_attribute'), $condition);
     return $this;
 }