7

2 つの linq クエリがあります。あるクエリの結果を別のクエリで使用したい。

var t2s = (from temp3 in _ent.Products                       
           where temp3.Row_Num == 2
           select new { temp3.ProductID });

次に、この var を別のクエリで使用します。

var _query = (from P1 in _ent.brands
              join temp2 in on 
                  new { Produ_ID = (Int32?)P1.Prod_ID } 
                  equals new { Produ_ID = (Int32?)temp2.ProductID }
             );

最初のクエリを単独で実行すると、正しい結果が得られます。2 つ目を a なしで実行するjoinと正しい結果がjoin得られますが、a を使用すると次のエラーが発生します。

エラー: '匿名型' の定数値を作成できません。このコンテキストでは、プリミティブ型 (Int32、String、および Guid など) のみがサポートされています

4

2 に答える 2

2

次のようにクエリを変更してみてください。

var t2s = from temp3 in _ent.Products                       
          where
             temp3.Row_Num == 2
          select temp3.ProductID;

var _query = from P1 in _ent.brands
             join temp2 in t2s on P1.Prod_ID equals temp2 
             select ...
于 2013-04-09T16:51:56.730 に答える