在2个单独的实体集合中查找公共条目

时间:2012-05-17 08:54:59

标签: c# linq collections entities

我有两个集合,即客户和电子邮件。 Customer有一个Customer.Email字段,Email实体有一个Email.From字段。我需要从Email集合中获取Customer.Email等于Email.From的所有实体,但我需要它来返回电子邮件实体,而不仅仅是Email.From字段。

有什么想法吗?

由于

2 个答案:

答案 0 :(得分:2)

List<Email> result =  emails.Where(p => customers.Any(q => q.Email == p.From)).ToList();

答案 1 :(得分:1)

这会影响效率,因为对于电子邮件中的每个条目,它必须匹配客户中的每个条目,直到找到正确的条目。

还是

var results = Emails.Where(e => e.From == customers.Select (c => c.Email));

var results = Emails.Where(e => Customers.Any(c => c.Email == e.From));