我有一个从表中加载的对象数组。相关字段是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 -> Y
和B -> M
我不需要整理结果记录,但必须像在链表中那样轻松地跟踪它们。
任何想法如何以最快的方式做到这一点?这些将有100或数千。我能想到的最好的相关性是,如果跟踪文件并对其进行重命名。
整个表被加载到内存中。如果重要,数据库为sqlite。我知道涉及递归。这是一组对象上的LINQ。
TIA