0
我正試圖在實體(VB.NET)中實現linq連接。在SQL會是這個樣子:Linq Group加入Where子句
SELECT someField FROM SomeTable a
LEFT JOIN someOtherTable b ON a.Key = b.Key AND b.Name <> ''
這是查詢的只是一小部分,還有很多其他的連接,但問題是在加入where子句。我通常可以通過加入匿名類型來完成此操作,但我不確定如何使用匿名類型方法在聯接中實現b.Name <>''。例如:
Return From document In dbContext.Documents
Group Join assessorNumberRow In dbContext.AssessorNumbers
On New With {document.DocumentId, .IsEmpty = False} Equals {assessorNumberRow.DocumentId, assessorNumberRow.AssessorNumber1}
Into foundAssessorNumbers = Group
From foundAssessorNumber In foundAssessorNumbers.DefaultIfEmpty()
但是,這是行不通的,因爲匿名類型不能比擬的,因爲我不是很清楚如何設置的條件,以確保assessorNumberRow.Number不是空在連接 - 不在最後的where子句中。
我想我可以做這樣的事情在最後其中:
Where foundAssessorNumber Is Nothing OrElse foundAssessorNumber.Number <> string.empty.
,但我認爲,包括的語法,其中的實際情況加入更容易遵守,而不是跟蹤其到年底整個查詢。
有什麼想法?
人,我不敢相信我沒有想到這樣做。非常好,謝謝! – DonnieDarko