从旧版本升级

此页面列出了驱动程序从 5.28 版到 6.x 版的新功能和破坏性更改的列表。完整的更改列表请参阅 驱动变更日志

6.x 系列的最新驱动程序版本兼容 Neo4j 4.4、5.x 和 202[56].x 服务器,因此您可以在升级服务器之前先升级驱动程序。同时,驱动程序 5.28 版本向前兼容 Neo4j 202[56].x 服务器,因此您也可以先升级服务器再升级驱动程序;但考虑到回滚应用程序升级比回滚服务器升级更容易,建议先从驱动程序开始。

将 Neo4j 服务器升级到新版本时,应用程序中的 Cypher 查询可能也需要更新。
请参阅 Cypher → 弃用、新增与兼容性

新功能

新增 Vector 类型

Vector 类型允许在数据库中存储和检索 Cypher VECTOR 对象。VECTOR 类型适用于高效存储同构数字列表,例如嵌入(embeddings)。

错误中的 GQL 状态对象

异常对象现在还以 GQL 状态对象的形式公开错误。Neo4j 错误代码与 GQL 错误代码的主要区别在于后者更加细化。有关更多信息,请参阅 错误处理

重大更改与弃用

被弃用的功能很可能会在下一个主要版本中被移除。

版本 消息 状态

6.0

已移除对 .NET Standard 2.1 的支持。

支持的运行时为 .NET 8、9 和 10 版。

已更改

6.0

ISessionIRxSessionIAsyncSession — 方法 .ReadTransaction().WriteTransaction() 已被删除,取而代之的是 .ExecuteRead().ExecuteWrite()。异步对应的方法 .ReadTransactionAsync().WriteTransactionAsync() 亦同,已被 .ExecuteReadAsync().ExecuteWriteAsync() 替代。

新方法的行为类似,但参数类型不同,且新方法不支持 .commit().rollback().close().closed() 方法。

已移除

6.0

IDriver — 方法 .CloseAsync() 已被删除,取而代之的是 .DisposeAsync()

已移除

6.0

书签 (Bookmarks)

已移除

6.0

ZonedDateTime — 两个不包含 DateTimeKind 参数的构造函数已被移除(thisthis;引用自 v5.28)。

已移除

6.0

INotification — 属性 Severity 已被移除,取而代之的是 SeverityLevel/RawSeverityLevel

已移除

6.0

接口 ILogger 已重命名为 INeo4jLogger,以便与标准日志框架集成。

已更改

6.0

IP6 — 方法 ConfigBuilder.WithIpv6Enabled()Config.Ipv6Enabled() 已被移除;IP6 现在始终启用。

已移除

5.0

IEntityINodeIRelationship — 方法 .Id()long)已弃用,取而代之的是 .ElementId()string)。

已弃用

5.0

IRelationship — 方法 .StartNodeId().EndNodeId() 已弃用,取而代之的是 .StartNodeElementId().EndNodeElementId()。旧标识符为 long 类型,而新的 ElementId 为 string 类型。

已弃用