1

好的,

我在 C# 中使用 .NET Framework 4.7.2。我正在尝试使用 Hello World 示例https://neo4j.com/developer/dotnet/。我已经安装了带有“PM Install-Package Neo4j.Driver-4.0”的驱动程序,并在项目中提供了 4.0.78.1 版本的参考。

对于线路

using (var session = _driver.Session())

我越来越

“IDriver”不包含“Session”的定义,并且找不到接受“IDriver”类型的第一个参数的可访问扩展方法“Session”(您是否缺少 using 指令或程序集引用?)

using Neo4j.Driver;
using System;
using System.Linq;
namespace ConsoleApp5 {
    public class HelloWorldExample : IDisposable
    {
        private readonly IDriver _driver;

        public HelloWorldExample(string uri, string user, string password)
        {
            _driver = GraphDatabase.Driver(uri, AuthTokens.Basic(user, password));
        }

        public void PrintGreeting(string message)
        {
            using (var session = _driver.Session())
            {
                var greeting = session.WriteTransaction(tx =>
                {
                    var result = tx.Run("CREATE (a:Greeting) " +
                                        "SET a.message = $message " +
                                        "RETURN a.message + ', from node ' + id(a)",
                        new { message });
                    return result.Single()[0].As<string>();
                });
                Console.WriteLine(greeting);
            }
        }

        public void Dispose()
        {
            _driver?.Dispose();
        }

        public static void Main()
        {
            using (var greeter = new HelloWorldExample("bolt://localhost:7687", "neo4j", "password"))
            {
                greeter.PrintGreeting("hello, world");
            }
        }
    }    
    }

显然我错过了一些简单的东西 - 但经过两个小时的搜索,我已经没有想法了。

4

1 回答 1

0

对于驱动程序版本 4,您还需要将Neo4j.Driver.SimpleNuget 包添加到项目中。通过图形界面,或通过命令行PM> Install-Package Neo4j.Driver.Simple

根据Neo4j Driver 4.0文档,Session()IDriver接口的扩展。根据Session()文档,它来自:

程序集: Neo4j.Driver.Simple(在 Neo4j.Driver.Simple.dll 中)版本:4.0.2

于 2020-06-09T21:38:06.833 回答