Linq to Entity Join-Tabelle mit mehreren ODER-Bedingungen

Ich muss einen Linq-Entity-Status schreiben, der die folgende SQL-Abfrage erhalten kann

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 )

Ich bin mit der folgenden Syntax stecken

 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();
            }

das gibt mir unter fehler

Fehler 50 Der Typ eines der Ausdrücke in der Join-Klausel ist falsch. Typinferenz beim Aufruf von 'Join' fehlgeschlagen.

Wie kann ich einen Join mit mehreren Bedingungen für eine Tabelle ausführen?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage