Lee*_*ang 2 triggers list salesforce duplicates
在我的订单插入触发器,我需要更新订单信息的联系人,我知道我的联系人列表中有重复的记录.所以我使用Contact [] contactToUpdate = new List(new Set(contactList)); 删除重复项.
但我仍然收到错误消息:列表中的重复.
任何的想法??
谢谢
你是正确的,一个集合包含唯一的元素,但问题是你正在处理联系实例:只是因为两个实例在数据库中引用相同的联系人,它们仍然是内存中的不同对象实例,因此是唯一的,结果是你可以拥有代表具有相同id的相同联系人的集合中的条目.
最简单的方法是使用id联系地图:
map<Id, Contact> contactMap = new map<id, Contact>();
Run Code Online (Sandbox Code Playgroud)
对于您处理的每个订单,您可以使用联系人查找作为地图的关键字来联系您要更新的联系人.在处理结束时,您可以通过调用以下方式更新联系人:
update mapContacts.values();
Run Code Online (Sandbox Code Playgroud)