2009-04-06 17 views
0

次のLINQクエリで特定の電話番号の連絡先をすべて取得することを期待していましたが、代わりに電話番号のない連絡先がすべて返されます。LINQ where句で関連テーブルの値を使用する

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

私はここで間違っていますか?

答えて

2

私はすべてではなく、任意の拡張方法を使用していたはずです。

次のコードは正常に動作します:

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