誰でも助けることができますか?
基本的にはメンバーを保持し、そのクラス内にはリストがあります。
私がリストに持っているメンバーも...基本的には次のようになります。
私には 2 人のメンバーがいて、各メンバーは多数のセッションを持っています。
各メンバーを 1 つのセッションでのみ返却したいと考えています。
私はLINQクエリを実行しましたが、もちろんうまくいきません...
自己結合を行う必要があると思いますが、アイデアはありますか?
基本的に私のエラーは、サブクエリの自己結合に m が存在しないことです。
var sessions =
from m in this.members
join s in
(
from se in m.Sessions
group se by se.Name into g
select new {Name = g.Key, SessioEndTime = g.Max(a=>a.SessioEndTime)}
)
on m.Name equals s.Name
select new { MemberName = m.Name, SessionTime = s.SessioEndTime}
誰でもフィードバックをいただければ幸いです。
前もって感謝します。
編集
次のようにできましたが、これが最善の方法ですか?
var sessions =
from m in this.members
let sn = m.Sessions.OrderByDescending(a => a.SessionEndTime).FirstOrDefault()
select new { MemberName = m.Name, SessionTime = sn.SessioEndTime}
このようにsnには1つのレコードが含まれていますが、すべてのプロパティにアクセスできます...
しかし、これが LET を使用する最善の方法でしょうか?
ありがとう。