2011年5月10日 星期二

linq join 多個條件

在linq 要join 多個條件
可以用

from a in Table1
join b in Table2 on new { a.a1,a.a2} equals new { b.a1,b.a2}

這是一般的狀況下

但是遇到
LEFT JOIN
就會發生錯誤
LEFT JOIN 就要用另一種方法才能解決

from a in Table1
join b in Table2 on a.a1 equals b.a1 into PutA
from ax in PutA.Where(a => a.a2 == b.a2).DefaultIfEmpty()

他必須將另一個條件在FROM時候下WHERE來執行
這樣就可以在LEFT JOIN 狀況下 下多條件的JOIN方法

沒有留言:

張貼留言