1

我正在使用带有 C# 的实体框架 4。我有Contact具有引用实体集合的对象Addresses。因此,一个人Contact可以拥有多个Address实体。我想要做的是将返回的Addresses与 a 关联的过滤器Contact仅来自多伦多市。

这是我正在使用的 LINQ 查询,但Addresses只要至少有一个,它就会返回所有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 回答