次のクエリをlinqに変換しようとしています。内部結合、複数グループ別、最小値付きLinqクエリ
SELECT Client.Nom, Client.Prenom AS Prénom, Client.Structure, MIN(Meeting.Start) AS Début, MAX(Meeting.Start) AS Fin, Meeting.Dispositifs AS Dispositif
FROM Meeting INNER JOIN
Client ON Meeting.CliID = Client.CliID
WHERE (Client.Nom LIKE 'kess%')
GROUP BY Client.Nom, Client.Prenom, Client.Structure, Meeting.Dispositifs
ORDER BY Début DESC, Fin
は、私がこれまで持っていることはこれです:
var clients = this.ObjectContext.Clients;
var meetings = this.ObjectContext.Meetings;
//int i = 0;
var query = from personne in clients
join meeting in meetings on personne.CliID equals meeting.CliID
where personne.CliID == guid
group personne by new { personne.Nom, personne.Prenom, personne.Structure, meeting.Dispositifs } into g
select new Parcour
{
//ID = i++,
Nom = g.Key.Nom,
Prénom = g.Key.Prenom,
Structure = g.Key.Structure,
Début = g.Min(m => m.Start),
Fin = g.Max(m => m.Start),
Dispositif = g.Key.Dispositifs,
};
return query.ToList<Parcour>();
私の問題は、会議のプロパティでスタートプロパティへのアクセスを取得することです。
また、ここでは、自動インクリメントされるintを含むIDのようなキーを持つ方法がありますか?
ご協力いただけると幸いです、 ジョン。