A .NET client for Neo4j. Supports Cypher queries via fluent interfaces, and some indexing operations.
Grab the latest drop straight from the Neo4jClient
package on NuGet.
Read our wiki docs - Currently OUT OF DATE
The official Neo4jClient build and nuget package is automated via AppVeyor.
Version 4.0.0 of Neo4jClient is now the stable version. There have been a lot of changes, additions, removals, so it's likely there will be breaking changes.
This isn't an exhaustive list of things you need to do, but I'll try to add things if I've forgotten them.
You will need to use the correct URI for the server version you are connecting to:
http://localhost:7474/db/data
http://localhost:7474/
neo4j://localhost:7687
Worth reviewing the Neo4j Documentation to see what you need to use.
As this release is 100% async
you will need to update any calls to Results
or ExecuteWithoutResults
to their Async
equivalents.
Neo4jClient
is Async
only now. TransactionScope
class which means that MSDTC will no longer work.
TransactionScope
may be in NetStandard now - but the other classes the Transaction code was relying on wasn't. GraphClient
and BoltGraphClient
will no longer support Neo4j 3.4 or lower.
Neo4j.Driver
that does the Bolt
side of things only targets 3.5+, and keeping all the backwards compatibility means a lot of work, for little gain.10.0.3
-> 12.0.3
1.7.2
-> 4.1.1
If you're changing from 2.x
to 3.x
, you'll want the below information, but you should really be on 4.x
unless you have to target an older DB instance.
AsyncLocal<>
instead of ThreadStatic
Breaking Changes in 2.0
)TransactionScope
does exist in NetStandard 2.0
- but some of the other bits surrounding the Transaction management doesn't. PathResults
doesn't work with Bolt, you need to use PathResultsBolt
instead.Neo4jClient
- transactions will not work. This will be returned when DotNet Core gets the TransactionScope
(See this comment for more details).Licensed under MS-PL. See LICENSE
in the root of this repository for full license text.
I will not be updating the 3.x version of the client, the focus is on 4.x and the features that gives us. Neo4j no longer actively support Neo4j 3.4 so you should consider updating if you can. Largely - anyone using the 3.x
version of the client is coping with it's deficiencies, and as 4.x addresses most of them. ¯_(ツ)_/¯