2011-11-22 7 views
1

私は2つのデータソースを持っており、以下の疑似コードに示すように、他のデータソース内のフィールドの存在にフィルタリングし、最初のを反復処理したい:適切な構文を達成するためにどのようになるかLINQの別の項目セットにあるアイテムをどのようにクエリしますか?

DataContext1 db1 = new DataContext1(); 
DataContext2 db2 = new DataContext2(); 

foreach(Address address in db1.Addresses.Where(l => l.LocationCode in db2.AddressList.Select(c => c.LocationCode))) 
{ 
    // perform operations 
} 

この?

答えて

0

は、DB2

foreach(Address address in db1.Addresses.Where(l => 
    db2.AddressList.Select(c => c.LocationCode).AsEnumerable().Contains(l.LocationCode))) 
{ 
    // perform operations 
} 
+0

に選択した後AsEnumerable()を追加おかげで、私はあなたの提案を試してみました - コンパイラは、暗黙のうちにl.LocationCode' 'で「ブール」にタイプ「string」を変換できないことに不平を言っています。 ..いくつかの他のエラーもあります。 – RoastBeast

+0

@RoastBeastはそのトリックをした答え – Magnus

+0

を更新しました。ありがとう! – RoastBeast

関連する問題