Я осмотрел и нашел несколько сообщений о добавлении второго условия в предложение JOIN, но они всегда являются экземплярами одной ссылки на столбец, но в моем случае мне нужно просто иметь столбец равный определенному значению. RAW SQL Я пытаюсь подражать это:Добавление второго условия в LINQ JOIN,
LEFT OUTER JOIN dbo.TimeCardHeader AS tch2 on tch1.EmployeeID = tch2.EmployeeID && tch2.WeekEndingDate = @PayPeriod
Как вы можете видеть мое второе условие соединения, чтобы соответствовать значение столбца из таблицы в переменную. Я пробовал следующие очереди LINQ, но все они терпят неудачу.
join leftth2 in db.TimeCardHeaders on th1.EmployeeID equals leftth2.EmployeeID AND leftth2.WeekEndingDate == PayPeriod into leftjointh2
join leftth2 in db.TimeCardHeaders on th1.EmployeeID equals leftth2.EmployeeID && leftth2.WeekEndingDate == PayPeriod into leftjointh2
join leftth2 in db.TimeCardHeaders on new
{
employeeID = th1.EmployeeID,
weekEndingDate = leftth2.WeekEndingDate
} equals new
{
employeeID = leftth2.EmployeeID,
weekEndingDate = PayPeriod
}
Первые два неудача говорит AND
и &&
являются недопустимыми, последний терпит неудачу говоря leftth2
не в рамках слева.
Каков правильный способ сделать это?
Ваше право, в SQL он помещается в РЕГИСТРИРУЙТЕСЬ пункте, но это больше ИНЕКЕ. Я обновил свой LINQ, добавив WHERE, следуя вашему примеру, и он работает. Я буду отмечать как ответ, когда наступит необходимое время. Спасибо. – Matthew