.NET 驱动程序

本节介绍 Neo4j 1.7 .NET 驱动程序和 4.x .NET 驱动程序之间的重大更改。

Neo4j 的最新版本 .NET 驱动程序可在 .NET 驱动程序的官方页面 上找到。

  • Neo4j.Driver 包仅包含异步 API。

  • IDriverLogger 已重命名为 ILogger

  • TrustStrategy 已替换为 TrustManager

示例 1. 1.7 和 4.0 .NET 驱动程序之间更改的示例
4.0 .NET 驱动程序的示例代码 1.7 .NET 驱动程序的示例代码
using Neo4j.Driver.Simple;
...
private readonly IDriver _driver;
private readonly string _previousNeo4jSessionBookmark;
...
public void PrintGreeting(string message)
{
   using (ISession session = _driver.Session(o =>
      o.WithDatabase("neo4j")
       .WithDefaultAccessMode(AccessMode.Write)
       .WithBookmarks(_previousNeo4jSessionBookmark)))
   {
       using (ITransaction transaction = session.BeginTransaction())
       {
           Query query = new Query("CREATE (a:Greeting) SET a.message = $message RETURN a.message + ', from node ' + id(a)", new Dictionary<string, object>{{"message", message}});
           IResult result = transaction.Run(query);

                string greeting = result.Single()[0].As<string>();
                Console.WriteLine(greeting);
                transaction.Commit(); // commit immediately here
            }
        _previousNeo4jSessionBookmark = session.LastBookmark;
        }
     }
using Neo4j.Driver;
...
private readonly IDriver _driver;
private readonly string _previousSessionBookmark;
...
public void PrintGreeting(string message)
{
   using (ISession session =_driver.Session(
      AccessMode.Write, _previousSessionBookmark))
   {


      using (ITransaction transaction = session.BeginTransaction())
      {
         Statement query = new Statement("CREATE (a:Greeting) SET a.message = $message RETURN a.message + ', from node ' + id(a)", new Dictionary<string, object>{{"message", message}});
          IStatementResult result = transaction.Run(query);
          transaction.Success(); // mark success, actually commit will happen in transaction.Dispose()
          var greeting = result.Single()[0].As<string>();
          Console.WriteLine(greeting);
   }
   _previousSessionBookmark = session.LastBookmark;
   }
}