グループ化するために、次のLINQクエリを実行していますCategoryID
var test = from x in ent.Products
group x by x.CategoryID into g
select new
{
x.EntityKey
};
しかし、次のエラーが発生します。
名前「x」は現在のコンテキストに存在しません
理由はありますか?
メソッドの構文に従うのが簡単だと思います:
test製品が属する CategoryIds のリストになりたい場合は、次を試してください。
var test = ent.Products.GroupBy(p => p.CategoryId)
.Select(g => g.Key)
データのセットでグループ化するとすぐに、データのクエリに使用する変数 (この場合は) はステートメントxで使用できなくなります。select
グループ化した後、できることはグループを使用することです(あなたの場合は ですg)。以下のようなステートメントで、グループ内にアクセスg.Keyまたはクエリgしfromてアクセスできます。select
var test = from x in ent.Products
group x by x.CategoryID into g
from b in g
select b.EntityKey;
ベスト プラクティスとは言えませんが、これは可能です。
これは、aftergroupステートメントxが使用できなくなったためです。そこでしか使えませんg。
必ず:
...
from something in g
select new {
something.EntityKey
}