1

Linqに変換されるSQLクエリがあります

Select b.title
from TableA as a
inner join TableB as b
on a.Email=b.Email
where a.Title<>b.Title 

私が試したクエリは

var query =from s in TableA
          join r in TableB
          on r.Email equals s.Email

ただし、多くの列を含む可能性のあるwhere句を複製することはできません

私の要件は、主キー列の2つのテーブルを比較してから、一致しない他の列の値を取得する必要があることです。

4

1 に答える 1

4

クエリの最後に「選択」が必要であり、正しい順序で入力を取得する必要があります。

var query = from s in TableA
            join r in TableB on s.Email equals r.Email
            where s.Title != r.Title
            select s.Title;

複数の列の場合は、匿名タイプを使用します。

var query = from s in TableA
            join r in TableB 
              on new { s.Email, s.Foo } equals new { r.Email, r.Foo }
            where s.Title != r.Title
            select s.Title;
于 2012-08-02T09:07:28.860 に答える