3
我環顧四周,發現有一些關於向JOIN子句添加第二個條件的帖子,但他們總是有一個列鏈接到另一個的實例,但在我的實例中,我只需要一個列等於一定的值。原始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它被放置在JOIN子句中,但它更是一個WHERE子句。我已經更新了我的LINQ,添加了WHERE以下示例,它正在工作。當所需的時間過去後,我會標記爲答案。謝謝。 – Matthew