You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从C#应用程序连接至Docker化的Memgraph数据库?

连接Docker化Memgraph到C#应用程序

1. 确认Docker容器的端口映射

首先确保你的Memgraph容器已将Bolt协议默认端口(7687)映射到主机端口。新启动容器可执行:

docker run -p 7687:7687 memgraph/memgraph

若容器已运行,用docker ps命令查看端口映射状态,确认主机7687端口指向容器内的7687端口。

2. 安装兼容的.NET驱动

Memgraph兼容Neo4j的Bolt协议,直接使用Neo4j的.NET驱动即可。通过NuGet安装:

  • 包管理器控制台执行:Install-Package Neo4j.Driver
  • 或在Visual Studio的NuGet包管理器中搜索Neo4j.Driver完成安装

3. 编写连接与查询代码

以下是基础的连接和数据查询示例:

using Neo4j.Driver;
using System;

class MemgraphConnector
{
    static void Main()
    {
        // 连接地址:容器不在本地时,替换为对应机器IP
        var uri = "bolt://localhost:7687";
        
        // 初始化驱动:默认无认证,若容器设了密码,改用AuthTokens.Basic("用户名", "密码")
        using var driver = GraphDatabase.Driver(uri, AuthTokens.None);
        
        // 创建会话并执行查询
        using var session = driver.Session();
        var result = session.Run("MATCH (n) RETURN n LIMIT 5");
        
        // 处理查询结果
        foreach (var record in result)
        {
            var node = record["n"].As<INode>();
            Console.WriteLine($"节点ID: {node.Id}, 属性: {string.Join(", ", node.Properties)}");
        }
    }
}

关键注意事项

  • 若Memgraph部署在远程服务器,将localhost替换为服务器的公网/内网IP。
  • 若启动容器时通过MEMGRAPH_AUTH环境变量设置了认证(例如docker run -p 7687:7687 -e MEMGRAPH_AUTH="user:pass" memgraph/memgraph),需修改驱动初始化代码为AuthTokens.Basic("user", "pass")。
  • 确保主机防火墙允许7687端口的入站连接,避免连接被拦截。

内容的提问来源于stack exchange,提问作者KWriter

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 09:20:27