比较两个对象集合并确定哪些对象已被编辑以及哪些是新对象的最佳算法

时间:2019-07-05 08:27:49

标签: c# performance collections change-tracking

如果您有一个对象集合(Col A),可能有重复项,并且您想根据基于数据库中已经存在的相同方式构造的数据知道该集合中的哪些对象已被编辑,哪些对象全新,您将按照什么顺序应用哪种算法以获得最佳结果?

我尝试了以下步骤,但结果却很慢:

  1. 转换为哈希集并返回到集合A以删除重复项
  2. 基于主键属性对集合进行排序
  3. 根据集合A的第一个对象(> =)和最后一个对象(<=)中的数据,检索数据库中存在的对象(集合B)。
  4. 遍历集合A以在集合B中查找对象
    • 如果不存在,则放入集合NewObjects中
    • 如果存在,则将所有属性一一比较,以查看对象是否脏污,然后将其放入集合EditedObjects中。

A,杂乱的代码太多,无法显示出有用的内容。

我不认为我的方法是最佳的,我想知道是否有更聪明的选择

0 个答案:

没有答案