0

グループ化するために、次のLINQクエリを実行していますCategoryID

var test = from x in ent.Products  
           group x by x.CategoryID into g
           select new  
           {
               x.EntityKey
           };

しかし、次のエラーが発生します。

名前「x」は現在のコンテキストに存在しません

理由はありますか?

4

4 に答える 4

2

メソッドの構文に従うのが簡単だと思います:

test製品が属する CategoryIds のリストになりたい場合は、次を試してください。

var test = ent.Products.GroupBy(p => p.CategoryId)
                       .Select(g => g.Key)
于 2012-06-13T12:49:45.800 に答える
1

データのセットでグループ化するとすぐに、データのクエリに使用する変数 (この場合は) はステートメントxで使用できなくなります。select

グループ化した後、できることはグループを使用することです(あなたの場合は ですg)。以下のようなステートメントで、グループ内にアクセスg.Keyまたはクエリgfromてアクセスできます。select

var test = from x in ent.Products  
           group x by x.CategoryID into g
           from b in g
           select b.EntityKey;

ベスト プラクティスとは言えませんが、これは可能です。

于 2012-06-13T13:37:31.813 に答える
1

これは、aftergroupステートメントxが使用できなくなったためです。そこでしか使えませんg

于 2012-06-13T12:39:47.963 に答える
1

必ず:

...
from something in g
select new {
  something.EntityKey
}
于 2012-06-13T12:40:05.633 に答える