を使用する方法を考え出すことはできません?のLINQ ORDERBY、私はこの機能を持ってそれを
私が試してみた:
.OrderBy(c=> c.TheBadge.OrderID)
をしかし、それは有効なコードではありません。ループ内の
TheBadge.Key
は
tblBadges
タイプです。インテリセンスがなぜ私がどこででも注文をすることができない理由は、私にはちょっと混乱しています!
を使用する方法を考え出すことはできません?のLINQ ORDERBY、私はこの機能を持ってそれを
私が試してみた:
.OrderBy(c=> c.TheBadge.OrderID)
をしかし、それは有効なコードではありません。ループ内の
TheBadge.Key
は
tblBadges
タイプです。インテリセンスがなぜ私がどこででも注文をすることができない理由は、私にはちょっと混乱しています!
TheBadge
は、バッジのグループだ...ので、私があなただったら、私は個人的に名前を変更したい、単一バッジではありません。今、です。OrderId
あなたは取得しますか? gruopには複数のエンティティがあります。たとえば、あなたがこれを行うことができます:いくつかの想定元本「最初の」要素で注文します
var q = db.tblBadgeUsers
.Where(c => c.UserID == UserID)
.GroupBy(c => c.BadgeID)
.Select(c => new { BadgeCount = c.Count(), TheBadge = c })
.OrderBy(x => x.TheBadge.First().OrderId);
- 私は、生成されたSQLがどのように見えるか知りませんが。
あなたはOrderId
は、同じIDを持つすべてのバッジのために同じであると予想される場合は、あなたが使用する可能性があります:
var q = db.tblBadgeUsers
.Where(c => c.UserID == UserID)
.GroupBy(c => new { c.BadgeID, c.OrderID })
.OrderBy(group => group.Key.OrderID)
.Select(c => new { BadgeCount = c.Count(), TheBadge = c });
これを試してみてください。次の行で
var q = db.tblBadgeUsers
.Where(c => c.UserID == UserID)
.GroupBy(c => c.BadgeID)
.Select(c => new { BadgeCount = c.Count(), TheBadge = c.Key }) // *mod
.OrderBy(c=> c.TheBadge.OrderID); // * added
、TheBadgeはAですlinqコレクションではなく、バッジ自体です。あなたはc.Key
が欲しいです。
.Select(c => new { BadgeCount = c.Count(), TheBadge = c })
「Orderby」ステートメントはどこにありますか? – ChrisF
"有効なコードではありません。" OrderByを追加しようとしたのはどのラインでしたか、特にエラーメッセージは何ですか? –
LINQ to SQLと仮定しますか? – Steven