<BlockSwitcher>

<Block name="Async/Await">

```swift
do {
    guard let postWithComments = try await Amplify.DataStore.query(Post.self, byId: "123") else {
        print("No post found")
        return
    }
    try await Amplify.DataStore.delete(postWithComments)
    print("Post with id 123 deleted with success")
} catch let error as DataStoreError {
    print("Failed with error \(error)")
} catch {
    print("Unexpected error \(error)")
}
```

</Block>

<Block name="Combine">

```swift
let sink = Amplify.Publisher.create {
    guard let postWithComments = try await Amplify.DataStore.query(Post.self, byId: "123") else {
        return
    }
    try await Amplify.DataStore.delete(postWithComments)
}.sink {
    if case let .failure(error) = $0 {
        print("Error deleting post and comments - \(error)")
    }
} receiveValue: {
    print("Post with id 123 deleted with success")
}
```

</Block>

</BlockSwitcher>
