什么是 C# 中的有向图的最佳持久性方法/工具/库。那是假设我有一个有向图的类模型(例如,节点和关系,或者顶点和边缘,如果你愿意的话),关于持久化到 SQL 数据库,你有什么建议? (或者,如果您希望第二个问题是我不指定 SQL 数据库作为要求)

例如,我想我会简单地使用一个关系表和一个节点表。

最佳答案

我不熟悉 C# 中可用的工具,但您的问题似乎主要是关于存储而不是 C#。

您如何存储 DAG 无疑取决于您想到的用例。您可以在关系数据库中的两个表中表示 DAG,例如,其中一个表保存有关节点(A、B、C 等)的信息,另一个保存有关节点之间边的信息(A -> B, A -> C 等)。

像 Neo4j 这样的图形数据库也可能是一个不错的选择。

在涉及水平扩展和并发访问等方面,您的里程会有所不同,具体取决于您采用的方法。您可能希望保留一个非规范化的表示来加速某些类型的查询,但这种策略涉及在开始之前需要了解的权衡。

关于c# - 什么是有向图的最佳持久性方法/工具/库,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2720467/

10-12 06:11