Adrift in .Net
This took me longer than it should have to figure it out, so I am documenting it for later reuse. The case here is described as such:
I have a collection of person objects, which themselves contain a collection of address objects. I want to find all the addresses in a given city:
public class Address { public string Street { get; set; } public string City { get; set; } public string Region { get; set; } public string Postal { get; set; } public AddressType Location { get; set; } } public class Person { public string Name { get; set; } public string ID { get; set; } public string Title { get; set; } public List<Address> Addresses { get; set; } } .... IEnumerable<Address> results = from guy in allPersons from addressResult in guy.Addresses where addressResult City == "London" select addressResult;
public class Address
{
public string Street { get; set; }
public string City { get; set; }
public string Region { get; set; }
public string Postal { get; set; }
public AddressType Location { get; set; }
}
public class Person
public string Name { get; set; }
public string ID { get; set; }
public string Title { get; set; }
public List<Address> Addresses { get; set; }
....
IEnumerable<Address> results = from guy in allPersons
from addressResult in guy.Addresses
where addressResult City == "London"
select addressResult;
I understand this is similar to a join in a SQL statement, but in my case the data does not come from a database but a service where I can't control data selection in that way.
Disclaimer The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.