两个list比较

-一个大坑 -一个大坑 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
同步数据要怎么办,先把原来的都删了,再全部同步?这样每次同步几万笔数据,久了自增序列数值太大
有两个list (myfaPCMList,myfaMafaList)我想把相同的数据留着,不一样的删了,然后再同步
下面是我现在写的代码,只同步5个栏位还好,多了要写的也太多了,有什么好的方法吗
myfaPCMList和myfaMafaList有些栏位不一样,也不能直接用相交或差集

var assetList = myfaPCMList.Select(a => a.Asset).ToList();
var companyList = myfaPCMList.Select(b => b.Company).ToList();
var cnameList = myfaPCMList.Select(b => b.Cname).ToList();
var isValidList = myfaPCMList.Select(b => b.IsValid).ToList();
var ownerList = myfaPCMList.Select(b => b.Owner).ToList();
var equalList = myfaMafaList.Where(o => assetList.Contains(o.Asset) && companyList.Contains(o.Company) &&
cnameList.Contains(o.Cname) && isValidList.Contains(o.IsValid) && ownerList.Contains(o.Owner)).ToList();
var addList = myfaMafaList.Except(equalList).ToList();

var assetList2 = equalList.Select(a => a.Asset).ToList();
var companyList2 = equalList.Select(b => b.Company).ToList();
var cnameList2 = equalList.Select(b => b.Cname).ToList();
var isValidList2 = equalList.Select(b => b.IsValid).ToList();
var ownerList2 = equalList.Select(b => b.Owner).ToList();
var noEqualList = myfaPCMList.Where(o => !(assetList2.Contains(o.Asset) && companyList2.Contains(o.Company) &&
cnameList2.Contains(o.Cname) && isValidList2.Contains(o.IsValid) && ownerList2.Contains(o.Owner))).ToList();

_context.DeleteRange(noEqualList);
_context.AddRange(addList);
_context.SaveChanges();
...全文

相关推荐

两个list比较 取不同的对象

比较list得到不同的对象 慎重注意list的大小变化和索引 精简算法

songzhanyang11

C#中两个List的比较与使用

该方法首先比较两个List的元素数量,如果不相等,则返回false。在上述代码中,我们使用了LINQ的Except方法,从list1和list2中找出差异的元素。diff1存储了在list1中存在但list2中不存在的元素,diff2存储了在list2中存在但list1中不存在的元素。例如,我们可以找出在list1中存在但list2中不存在的元素,或者找出在list2中存在但list1中不存在的元素等等。这表示list1中的元素1和2在list2中不存在,而list2中的元素6和7在list1中不存在。

AhTf__

Java比较两个List的值是否相等的方法

主要介绍了Java比较两个List的值是否相等的方法,涉及java针对队列比较的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下

weixin_38548507

java比较两个list是否相同equals的代码详解

在本篇文章里小编给大家分享的是关于java比较两个list是否相同equals的代码详解,有需要的朋友们可以参考学习下。

weixin_38517904

比较两个集合是否相同(比较两个List内容是否相同)

比较两个集合是否相同(比较两个List内容是否相同) 利用Java反射机制,获取到字段名、方法名、字段值,进行逐个比较,此处本人封装好了工具类,接收的是泛型,调用者只需要传入两个实体List即可进行比较,返回true则为相同,返回false则不相同。

没笔新之助。
评论 7
收藏 已收藏
分享
返回顶部
-一个大坑
.NET社区 62,271 成员 668,968 内容