使用LINQ where子句中相关表的值

时间:2009-04-06 04:11:32

标签: c# linq linq-to-sql

我期待以下LINQ查询检索具有指定电话号码的所有联系人,但它会返回所有没有电话号码的联系人。

var query = from contact in dc.Contacts
            where contact.Phones.All(phone => phone.PhoneNumber == "5558675309")
            select contact;

我在这里做错了什么?

1 个答案:

答案 0 :(得分:2)

我应该使用Any扩展方法,而不是All。

以下代码可以正常使用:

var query = from contact in dc.Contacts            
            where contact.Phones.Any(p => p.PhoneNumber == "5558675309")            
            select contact;