我有两个集合,即客户和电子邮件。 Customer有一个Customer.Email字段,Email实体有一个Email.From字段。我需要从Email集合中获取Customer.Email等于Email.From的所有实体,但我需要它来返回电子邮件实体,而不仅仅是Email.From字段。
有什么想法吗?
由于
答案 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));