使用Neo4j.Driver的Memgraph C#连接问题(会话空引用异常)

5jvtdoz2  于 2023-03-08  发布在  C#
关注(0)|答案(1)|浏览(162)

我需要连接到我的memgraph服务器(通过docker运行),但我尝试的任何基本示例在运行任何查询时都以空引用异常结束。
我使用的代码是:

public async void DatabaseConnectionTest()
    {
        IDriver driver = GraphDatabase.Driver("bolt://127.0.0.1:7687", AuthTokens.None);
        IAsyncSession session = driver.AsyncSession();
        try
        {
            IResultCursor cursor = await session.RunAsync("CREATE (n: TestNode) RETURN n");
            await cursor.ConsumeAsync();
        }
        catch(Exception e)
        {
            Console.WriteLine($"Exception {e.Message}");
        }
        finally
        {
            await session.CloseAsync();
        }

        await driver.DisposeAsync();
    }

当我尝试运行这段代码时,我得到了一个"NullReferenceException":

IResultCursor cursor = await session.RunAsync("CREATE (n: TestNode) RETURN n");

我是不是做错了什么?我错过了什么。
先谢了!

rta7y2nd

rta7y2nd1#

我所面临的问题是由于我的memgraph docker容器的错误配置文件。
在文档中,它明确声明要在中使用Neo4J.Driver,您需要应用以下更改:
为了使Neo4j驱动程序工作,您需要修改配置设置--bolt-server-name-for-init。当运行Memgraph时,设置--bolt-server-name-for-init=Neo4j/5.2.0。如果您使用其他版本的Neo4j驱动程序,请确保输入正确的版本号。
现在它完美地工作了!

相关问题