链表的自引用LINQ

时间:2019-10-24 01:26:15

标签: c# linq

我有一个从表中加载的对象数组。相关字段是id,时间戳,名称,重命名名称。创建对象并将其保存到表中时,名称是指其名称,而重命名的名称为空白。可以重命名这些对象,当它们是旧名称时,将使用旧名称,将新名称重新命名为。其中许多对象共存并以未知方式保存到数据库中。对于任何对象,我需要找到将它们重命名为的名称。

如果我们有此数据(此处简化了时间)

Id   Time   Name   RenamedName
1    100      A
2    101      B
3    105      A      Z
4    109      C
5    111      Z      Y
6    114      B      M

这将导致A -> Z -> YB -> M

我不需要整理结果记录,但必须像在链表中那样轻松地跟踪它们。

任何想法如何以最快的方式做到这一点?这些将有100或数千。我能想到的最好的相关性是,如果跟踪文件并对其进行重命名。

整个表被加载到内存中。如果重要,数据库为sqlite。我知道涉及递归。这是一组对象上的LINQ。

TIA

0 个答案:

没有答案