Entity Framework Query with MAX - PullRequest
       20

Entity Framework Query with MAX

2 голосов
/ 21 декабря 2011

Я бился головой об стену, пытаясь перевести простой SQL-запрос в EF-запрос ..

Может кто-нибудь помочь, пожалуйста .. Ниже приведен запрос, который я пытаюсь перевести.

SELECT p.[UniqueId]
  ,p.[CAI]
  ,p.[HRGuid]
  ,p.[FullName]
  ,p.[Email]
  ,a.*
FROM [Participant] p
INNER JOIN 
(
    Select * FROM Assignment where assignmentNumber = 
    (Select MAX(AssignmentNumber)FROM 
    Assignment GROUP BY UniqueId)
) a
ON p.UniqueId = a.UniqueId

В основном я пытаюсь получить Участника вместе с его последним заданием.

1 Ответ

0 голосов
/ 21 декабря 2011

Вам нужно будет создать свою сущность Участник, используя Linq-Objects. Вам нужно настроить после AsEnumerable, чтобы создать ваши сущности

var query = (from p in context.Participant
            join a in context.Assignment on p.UniqueId equals a.UniqueId into ag
            select new
            {
              Participant = p,
              Assignment = ag.OrderByDescending(x => x.AssignmentNumber).FirstOrDefault()
            }).AsEnumerable()
              .Select(x => new Participant(x.Participant )
                     {    
                        Assignments = new Assignment[] { x.Assignment }
                     };
...