Khi truy vấn trong cơ sở dữ liệu thì nhiều lúc bạn cần join theo nhiều điều kiện khác nhau, khi viết câu lệnh LinQ cũng vậy.

Một câu lệnh join (inner join) đơn giản - 1 điều kiện trong LinQ có dạng như sau:

var result = from x in X

join y in Y on x.key equals y.key

select new {

...

}code-box

Câu lệnh trên là join chỉ với một điều kiện, khi mình muốn thêm điều kiện thứ hai, mình đã thử:

var result = from x in X
join y in Y on x.key1 equals y.key2 && x.key2 equals y.key2

select new {

...

}code-box

Sai quá sai, thế là ăn ngay cái Exception 😂😂😂

Sau khi sống chết với trình duyệt, mở chục tab Google thì mình được một issue có trên StackOverflow (link bài viết). Mình đã join trong LinQ bằng mẫu câu lệnh sau:

var result = from x in X

             join y in Y on 

             new  {

                x.key1,

x.key2,

x.key ...

             }

             equals

             new {

                y.key1,

y.key2,

y.key ...

              }  

select new  {

...

}code-box


Chúc bạn code vui. 😃

Post a Comment

Mới hơn Cũ hơn