我有两个集合,客户和电子邮件。Customer 有一个 Customer.Email 字段,Email 实体有一个 Email.From 字段。我需要从电子邮件集合中获取 Customer.Email 等于 Email.From 的所有实体,但我需要它来返回电子邮件实体而不仅仅是 Email.From 字段。
有任何想法吗?
谢谢
我有两个集合,客户和电子邮件。Customer 有一个 Customer.Email 字段,Email 实体有一个 Email.From 字段。我需要从电子邮件集合中获取 Customer.Email 等于 Email.From 的所有实体,但我需要它来返回电子邮件实体而不仅仅是 Email.From 字段。
有任何想法吗?
谢谢
List<Email> result = emails.Where(p => customers.Any(q => q.Email == p.From)).ToList();
这将影响效率,因为对于电子邮件中的每个条目,它必须匹配 Customer 中的每个条目,直到找到正确的条目。
仍然
var results = Emails.Where(e => e.From == customers.Select (c => c.Email));
或者
var results = Emails.Where(e => Customers.Any(c => c.Email == e.From));