4

let2つのテーブルからのデータを必要とするモデルのリストを返すクエリを作成していますが、このキーワードが役立つことを願っています。私はこのように始めています:

var TheListOfModels = 
                let Data1 = (from a in MyDC.Table1
                              where ....
                              select new ObjectThatContainsData1()
                              {

                              }).ToList()

                let Data2  = (from b in MyDC.Table2
                              where ....
                              select new ObjectThatContainsData2()
                              {

                              }).Tolist()                 

                select new ObjectThatContainsBothData()
                { 
                     SomeProp1 = from p in Data1
                                 select everything

                     SomeProp2 = from a in Data2
                                 select everything

                }).ToList()

テーブルから直接ではなくselect、2つの句の結果から選択する最終ステートメントをどのように進めて書くかについてはよくわかりません。let私が書いているクエリの構造は良い出発点ですか、それとも別の方法で書く必要がありますか?

ありがとう。

コメントごとに編集:テーブル定義

Table1は次のようになります。

PeachID | UserID | HarvestDateTime | SomeOtherColumn

Table2は次のようになります。

AppleID | UserID | HarvestDateTime | SomeOtherColumn

私はすべての桃とリンゴをリストに抽出しようとしています。whereObjectThatContainsBothData句は基本的にとをフィルタリングするためにHarvestDateTimeあります。UserID

4

1 に答える 1

3

Linqクエリ構文を通常のC#コードに適用しようとしているようです。オブジェクトを作成し、2つのクエリを実行して、両方のプロパティのデータを取得するだけです。

var result = new ObjectThatContainsBothData() 
             {
                 SomeProp1 = db.Peaches.Where(...).Select(...).ToList(),
                 SomeProp2 = db.Apples.Where(...).Select(...).ToList()  
             };
于 2013-01-19T17:59:36.427 に答える