muszę napisać stan Linq podmiotu, który może otrzymać zapytanie SQL poniżejLINQ do jednostki Dołącz tabelę z wielokrotnych lub warunków
SELECT RR.OrderId
FROM dbo.TableOne RR
JOIN dbo.TableTwo M ON RR.OrderedProductId = M.ProductID OR RR.SoldProductId= M.ProductID
WHERE RR.StatusID IN (1, 4, 5, 6, 7)
siedzę z poniższej składni
int[] statusIds = new int[] { 1, 4, 5, 6, 7 };
using (Entities context = new Entities())
{
var query = (from RR in context.TableOne
join M in context.TableTwo on new { RR.OrderedProductId, RR.SoldProductId} equals new { M.ProductID }
where RR.CustomerID == CustomerID
&& statusIds.Any(x => x.Equals(RR.StatusID.Value))
select RR.OrderId).ToArray();
}
ten daje mi poniżej błąd
Błąd 50 Typ jednego z wyrażeń w klauzuli join jest niepoprawny. Wnioskowanie typu nie powiodło się w wywołaniu "Dołącz".
W jaki sposób mogę wykonać wiele połączeń warunkowych dla tabeli.
To zadziałało. Szukałem SO i znalazłem coś takiego, gdzie RR.OrderedProductId/RR.SoldProductId równa się M.ProductID, ale to nie zadziałało dla mojego kodu. – HaBo