Tengo problemas para consultar relaciones de muchos a muchos en Linq To Entities. básicamente estoy tratando de replicar esta consulta utilizando LINQ:Entity Framework - Linq To Entities - Many-To-Many Query Problems
Select *
FROM Customer
LEFT JOIN CustomerInterest ON Customer.CustomerID = CustomerInterest.CustomerID
LEFT JOIN Interest ON CustomerInterest.InterestID = Interest.InterestID
WHERE Interest.InterestName = 'Football'
He mirado alrededor de la red y realmente no se encuentra ningún ejemplo adecuado de cómo hacer esto. El más cercano que tengo es:
List<Customer> _Customers = (from _LCustomers in _CRM.Customer.Include("CustomerInterest.Interest")
where _LCustomers.CustomerInterest.Any(x => x.Interest.InterestName == "Football")
select _LCustomers).ToList();
El problema con esto es que si un cliente tiene más de un interés y una de ellas es "El fútbol", entonces todos ellos son devueltos. También miré All() que tiene el problema inverso, es decir, solo volverá si tienen un interés y es el fútbol, si tienen dos y uno de ellos no es fútbol, nada se devuelve.
¿Alguien tiene alguna idea?
favor, mire esta pregunta - http://stackoverflow.com/questions/1535443 y este post - http://blogs.msdn.com/b/alexj/archive/2009/10/13/tip -37-cómo-hacer-a-condicional-incluir.aspx. – Kniganapolke