gpt4 book ai didi

c# - 比较两个集合并从一个集合中添加/删除以使它们匹配

转载 作者:太空狗 更新时间:2023-10-29 23:17:18 25 4
gpt4 key购买 nike

我有两个数据库表,代表属于父实体的项目列表。

我需要定期更新表 B 以匹配表 A

使用 linq,我得到了表 A 中 ID 的集合。

我现在需要在表 B 中添加和删除行以使其与 A 匹配。

使用 linq 和 EF 4.1 实现此目的的最有效方法是什么?

我可以循环遍历 A 集合,并在此循环中循环遍历 B,检查与外循环中的当前项匹配的记录,如果未找到匹配项,则添加新项……但看起来我然后将需要再次遍历 B 以删除不在 A 中的任何项目。这似乎效率低下。我错过了什么吗?

最佳答案

var toRemove = tableB.Except(tableA);
var toAdd = tableA.Except(tableB);

其中 tableAtableB 是 ID 列表。

然后最简单的方法是 foreach() 遍历两个结果列表并执行必要的操作。

关于c# - 比较两个集合并从一个集合中添加/删除以使它们匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8317816/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com