1

C# で Entity Framework 4 を使用しています。Contactの参照エンティティ コレクションを持つオブジェクトがありますAddresses。したがって、Contact複数のAddressエンティティを持つことができます。私がやりたいのは、 a にAddresses関連付けられた返されたものをフィルタリングしてContact、トロント市からのものだけにすることです。

これが私が使用しているLINQクエリですがAddresses、少なくとも1つが持っている限り、すべてを返しますCity == "Toronto"Address返されるエンティティを制限して、Addressエンティティが持っているもののみを含めたいと思いますCity == "Toronto"。これを行うには、LINQ クエリをどのように構成すればよいですか?

var vcontact = from c in context.Contacts
               orderby c.LastName
               where c.Addresses.Any(a => a.City == "Toronto")
               select c;
4

1 に答える 1

5
var vcontact = from c in context.Contacts
               orderby c.LastName
               where c.Addresses.Any(a => a.City == "Toronto")
               select new Contact
               {
                   LastName = c.LastName;
                   // map all remaining properties of Contact
                   Addresses = c.Addresses.Where(a => a.City == "Toronto")
               }; 
于 2012-07-31T23:14:10.427 に答える