2011-06-20 13 views
1

2つのクエリがあります。単一列のLINQとの交差

var suppliers = 
    from u in db.Users 
    join s in db.Suppliers 
    on u.SupplierID equals s.supplierID 
    select u; 

var AreaServiced = 
    from a in db.Areas_Serviceds 
    where a.Area.AreaName == AreasServiced 
    where a.Area.State == StateServiced 
    select a; 

私はすべてのサプライヤの詳細を得るためにそれらを交差させたいと思います。だから、彼らはsupplierIDで交差しているだけだろう。

サプライヤーとareasservicedが同じ列を持っていないので、私は= suppliers.intersect(AreaServiced)

サプライヤーを使用傾けます。

私は現在、私はいつも(エリアに関するユーザーのdoesntのケアがサービスならば、私はどこのサービス気にすることなくsuppleirsを表示jsutます)htemが交差したくないので、単一のstatemnetでそれを持っていけない

ので、後でIf(!customerCaresAboutAreaServiced){2つのテーブルを交差させる}のようなことができます

otherwsie私は2番目のテーブルを無視します。

+1

あなたはSupplierIdで参加できませんか? –

答えて

3

2つのクエリの間でLinq結合を試しましたか? 何かのように

var intersection = 
    from su in suppliers 
    join areas in AreaServiced 
    on su.SupplierID equals areas.SupplierID 
+0

もちろん:)簡単に – Michael

+0

@マイケル - なぜこれはあなたのために働かないのですか? –