У меня проблемы с запросом отношений «многие ко многим» в Linq To Entities.
Я в основном пытаюсь повторить этот запрос с помощью Linq:
Select *
FROM Customer
LEFT JOIN CustomerInterest ON Customer.CustomerID = CustomerInterest.CustomerID
LEFT JOIN Interest ON CustomerInterest.InterestID = Interest.InterestID
WHERE Interest.InterestName = 'Football'
Я осмотрел сеть и не нашел подходящих примеров, как это сделать. Ближайшее, что у меня есть, это:
List<Customer> _Customers = (from _LCustomers in _CRM.Customer.Include("CustomerInterest.Interest")
where _LCustomers.CustomerInterest.Any(x => x.Interest.InterestName == "Football")
select _LCustomers).ToList();
Проблема в том, что если у клиента есть более одного интереса, и один из них - «Футбол», то все они возвращаются. Я также посмотрел на All (), у которого есть обратная проблема, то есть вернется, только если у них есть один интерес, и это футбол, если у них два, и один из них не футбол, ничего не возвращается.
У кого-нибудь есть идеи?