C#逻辑树的持久性

3
我正忙于一个项目,其中我将实现一个树形结构来关联对象。我找到了一篇很棒的文章,描述了非二叉树的逻辑和编码:Tree<T>: Implementing a Non-Binary Tree in C#。我认为这是一个好的实现。
然而,我的问题与我想使用领域驱动开发方法进行开发有关。因此,在设计过程中出现的问题是,我的树和其他对象的组合领域模型如何等同于数据持久化模型?
由于树的实现使用泛型,存储数据的领域对象将无法意识到它是树的一部分。因此,我很难理解这将如何通过仓储模式和nhibernate等技术进行数据检索和持久化。
我的初步想法是,我需要实现一个非常具体的自定义仓库,以处理树的遍历和持久化。但是,目前它还比较模糊。
是否有任何人做过类似的事情,可以分享他们的经验或提供一些代码?

我想知道内置序列化器是否可以序列化您的树形结构。例如,SOAP 序列化器可以无问题地序列化对象图。另一个问题是,您是想持久化整个树还是将叶子和它们的连接单独保存。 - Wiktor Zychla
谢谢Wiktor。我不想将整个树作为序列化数据进行持久化。我需要将每个节点作为单独的数据项进行持久化。因此,我预见将节点作为单独的数据项进行持久化,然后将连接作为一个单独的位置进行持久化是可行的方法之一。 - Ozzy
1个回答

0

我在NHibernate FAQ中发现了一篇有趣的帖子,我认为它可能有助于澄清这个主题上的疑惑。如果您感兴趣,请查看:NHibernate中如何映射树结构


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接