ArcGIS Pro 3.4 API Reference Guide
ArcGIS.Core.Data Namespace / Attachment Class / GetAttachmentID Method
Example Version

GetAttachmentID Method
Gets the object ID of the attachment. This method must be called on the MCT. Use QueuedTask.Run.
Syntax
public long GetAttachmentID()

Return Value

The object ID of the attachment.
Exceptions
ExceptionDescription
A geodatabase-related exception has occurred.
This method or property must be called within the lambda passed to QueuedTask.Run
Example
Deleting Attachments
public async Task DeletingAttachments()
{
    await ArcGIS.Desktop.Framework.Threading.Tasks.QueuedTask.Run(() =>
    {
        using (Geodatabase geodatabase = new Geodatabase(new DatabaseConnectionFile(new Uri("path\\to\\sde\\file\\sdefile.sde"))))
        using (Table inspectionTable = geodatabase.OpenDataset<Table>("luCodeInspection"))
        {
            QueryFilter queryFilter = new QueryFilter { WhereClause = "ACTION = '1st Notice'" };

            using (RowCursor cursor = inspectionTable.Search(queryFilter, false))
            {
                while (cursor.MoveNext())
                {
                    using (Row currentRow = cursor.Current)
                    {
                        IReadOnlyList<Attachment> rowAttachments = currentRow.GetAttachments(null, true);
                        IEnumerable<Attachment> attachments = rowAttachments.Where(attachment => attachment.GetContentType().Equals("application/pdf"));

                        IReadOnlyList<long> attachmentIDs = attachments.Select(attachment => attachment.GetAttachmentID()) as IReadOnlyList<long>;
                        IReadOnlyDictionary<long, Exception> failures = currentRow.DeleteAttachments(attachmentIDs);

                        if (failures.Count > 0)
                        {
                            //process errors
                        }
                    }
                }
            }
        }
    });
}
Requirements

Target Platforms: Windows 11, Windows 10

ArcGIS Pro version: 3 or higher.
See Also