.NET Client cannot delete node from graph!

Report a Dgraph Client Bug

What Dgraph client (and version) are you using?

  • Dgo
  • PyDgraph
  • Dgraph4J
  • Dgraph-js
  • Dgraph-js-http
  • Dgraph.NET

Version: ( Latest

What version of Dgraph are you using?

Dgraph backend - v21.03.0-78-ge4ad0b113 (Latest)
.NET Client - Dgraph ( (Latest)

Supposedly compatible version as per the official .NET Client Github page.

Have you tried reproducing the issue with the latest release?

I am having a hard time not to.

Steps to reproduce the issue (command/config used to run Dgraph).

I am trying to delete a node completely from the graph by uid, using the json syntax (basically following the tutorial), transaction results with success and the node is still there (even query-able).
I can connect to the backend no problem, I can alter the schema no problem, create nodes from serialized class (specifying dgraph.type in the class), query and even upsert without any problems. However, I have tried everything I can think of to delete a node, json, nquads, even curl (bad request from it, but I don’t want to use it anyway). This is the final piece of code that I ended up using, it’s copied 1:1 from Ratel (where it works), but running it from the .NET Client results in success and node still being there intact!

Please see the “Sorry, new users can only put one embedded media item in a post.” concatenated imagery below.

“id” is of type long (which should’t be a problem), but I’ve tried with string as well, even hard coded.

Here is a query from Ratel, again the most basic node (no edges). I have tried an upsert delete, it doesn’t work for me.

I have searched the forums and github about this issue, but no one seems to have it with the .NET Client, I’m sure I am just missing something.

Are you running commit on the transaction? (Or CommitNow=true)

Yes, I’ve tried both, prefer CommitNow=true
Also forgot to mention I am using Dgraph cloud backend (the free one).

If you can run via Ratel, the problem is with the .NET client. Need to check if the steps are right or if for some reason the .NET client got incompatible somehow.