私はまだ解決策を見つけることはできませんでした。問題を単純化するには:私は2つのSQLテーブルを持っており、私はLinQ to SQLを使用しています。 2つのテーブルはコースを表し、CourseTypeにはCourseNameとTotalSpotsが含まれ、CourseInstanceにはCourseDate、AmountSignedUp、およびCourseTypeへの参照が含まれます。 CourseTypeとCourseInstanceの間には、1対1の関係があります。サブリスト項目のLinq orderbyの合計がメインリスト項目と比較されました
私が助けを必要としているのは、(もし可能ならば)CourseTypeとCourseInstanceの両方を並べ替えるLinqクエリ/ラムダ式です。私はCourseTypeが、ほとんどのフリースポットを持つCourseTypeが最初に表示されている、全フリースポット(CourseType; CourseType.TotalSpots - CourseInstance.SignedUp)の下のすべてのCourseInstanceから計算された後にソートされることを望みます。私は、CourseInstanceがどれくらいのフリースポット(CourseType.TotalSpots - CourseInstance.AmountSignedUp)を持っているかによって、CourseInstanceをsimlarでソートします。
私はこれを解決する方法を頭にすることはできません。
編集:これまでCourseTypeを正しく並べ替えるためにこのコードを実行しました。 CourseInstanceサブリストをどのようにソートすることができるかわかりません(CourseType.CourseInstance)。私は誰かがこれに対する良い解決策を持っていない限り、私はそれをリストに変換しているときにコードの後半でそれをしなければならないと思います。アリオンが提案したように私はそれを行うことができました、なぜ私は彼の答えに印をつけますか?
var result= (
from c in _db.CourseType
orderby ((c.TotalSpots * c.CourseInstance.Count) - c.CourseInstance.Sum(
ci => (ci.AmountSignUp ?? 0))) descending
select c
);
アリオン!私は結果がCourseTypeとCourseInstanceの両方ではなく、CourseTypeだけを含むようにします。 ReasonはCourseInstanceがCourseTypeのサブリストになると、そのサブリストに含まれるオブジェクトが必要なときにこのサブリストをクエリできます。私は、CourseTypeとSublist CourseInstanceの両方をソートしたいと思います。これはポーズブルなのか、それとも両方のソートされたリストを持つだけで解決するための方法ですか?乾杯 –
それはあなたのためにそれを修正しましたか? @ user1350598:良いと思う答えを投票してください。それは私たちにすべて暖かいあいまい感を与えます:P – Arion