2009-05-05 7 views
1

基準に基づいてセットの減算を行いたいと思います。疑似クエリは次のようになります。排他セットの構文Linq、VB

select table1.columnn1 
     ,table1.column2 
    from table1, table2 
where (table1.column1.value1 not in table2.column1 
     and 
     table1.column2.value2 not in table2.column2) 

私はここ程度にそれを作ることができます。

dim list = From tbl1 In table1 Where tt.column1 ... 

そして、そこから私は何をすべきかわかりません。

答えて

2

LINQのExcept標準クエリ演算子を見てください。これにより、2つの配列の差異が生じる。

http://msdn.microsoft.com/en-us/library/system.linq.enumerable.except.aspx

また、下記のサンプルごとに、あなたが望むものを達成するためにContains演算子を使用する場合があります。

dim table2Col1 = from t in table2 select t.column1 
dim table2Col2 = from t in table2 select t.column2 

dim results = _ 
    from t in table1 _ 
    where not table2Col1.Contains(t.column1) _ 
    and not table2Col2.Contains(t.column2) _ 
    select new with { .column1=t.column1, .column2=t.column2 } 
+0

おかげで多くの、あなたは間違いなく正しい方向に私を操縦。 – Daniel