Мне нужно написать состояние Linq-объект, который может получить ниже SQL запросLinq к Entity Присоединиться таблицей с несколькими или условиями
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)
Я застрял с синтаксисом ниже
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();
}
это приводит к ошибке ниже
Ошибка 50 Тип одного из выражений в предложении соединения неверен. Ошибка ввода типа в вызове «Join».
Как выполнить объединение нескольких условий для таблицы.
Хорошо, что это сработало. Я смотрел на SO и нашел что-то вроде того, где RR.OrderedProductId/RR.SoldProductId равен M.ProductID, но это не сработало для моего кода. – HaBo