Entity Framework - Linq To Entities - Plusieurs problèmes de requête

entity-framework left-join linq-to-entities many-to-many

Question

J'ai des problèmes pour interroger plusieurs relations dans Linq To Entities. J'essaie essentiellement de reproduire cette requête à l'aide de Linq:

Select * 
FROM Customer 
LEFT JOIN CustomerInterest ON Customer.CustomerID = CustomerInterest.CustomerID
LEFT JOIN Interest ON CustomerInterest.InterestID = Interest.InterestID
WHERE Interest.InterestName = 'Football'

J'ai jeté un coup d'œil sur le net et je n'ai trouvé aucun exemple approprié de la façon de procéder. Le plus proche que j'ai eu est:

List<Customer> _Customers = (from _LCustomers in _CRM.Customer.Include("CustomerInterest.Interest")
                                  where _LCustomers.CustomerInterest.Any(x => x.Interest.InterestName == "Football")
                                  select _LCustomers).ToList();

Le problème, c’est que si un client a plus d’un intérêt et que l’un d’eux est "Football", ils sont tous renvoyés. J'ai aussi regardé All () qui a le problème inverse, c'est-à-dire qu'il ne reviendra que s'il a un intérêt et que c'est le football, s'il en a deux et que l'un d'entre eux n'est pas du football, rien n'est retourné.

Quelqu'un a une idée?

Réponse populaire

Essaye ça,

var result = from c in ctx.Customer
             from i in c.Interest
             where i.InterestName == "Football"
             select c;

J'espère que cela t'aides,

Rayon.



Related

Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow