2010-12-02 6 views
0

データベースからデータセットを取得するlinqクエリがありますが、残念なことにデータベースの従来の性質のために、手動の「結合」をクエリ。Linq2SQLで結合されたテーブルにIQueryableを返すときにアクセスする

データセットに追加のフィルタを追加する必要があります。そのうちのいくつかは結合テーブルに依存しています。最初のクエリのデータセットを.AsQueryable()として返すと、それはIQuerableから利用できないようです。

例:

var myQuery = (from o in db.FirstTable 
        join t in db.SecondTable on o.SecondID equals t.ID 
        select o).AsQueryable(); 

// (optional - if statement excluded for brevity) 
myQuery = from x in myQuery where t.SomeField.Equals("My Filter Value"); 

答えて

0

あなたがテーブルの外に必要どちらのプロパティは、あなたが選択につかむ必要があります。したがって、「select o」から「o.Property1、o.Property2、t.Property1、t.Property2を選択」に変更してください。