繁体   English   中英

Linq根据另一个列表的成员资格从一个列表中排除自定义对象(C#)

[英]Linq to exclude a custom object from one List based on membership of another List (c#)

我有一个自定义Dynamics CRM对象的列表(列表A),然后我想创建另一个具有相同自定义对象类型的列表(列表B),其中不包括列表A中已经存在的任何自定义对象。唯一的实例标识符是一个名为“ emailaddress”的参数

我尝试制作列表,然后在列表B上执行“删除”(或排除)操作-效果不错,但似乎很慢,我宁愿尝试在初始列表(B)创建时将所有重复项排除在外-即作为用于创建列表B的查询的一部分。有人知道这是否可能吗? (C#)

(假设列表A已被实例化)伪代码/代码类似于

...
from b in context.CreateQuery("contact")
where (string) b["emailaddress"] !=null 
and b["emailaddress"] NOT IN ListA
select new object.....toList()

谢谢

我认为左外部联接可以解决问题。

var q =
(from b in context.CreateQuery("contact")
join c in ListA on c.emailaddress equals b.emailaddress into bc
from c in bc.DefaultIfEmpty()
select new { whatever your object properties are}).ToList();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM