Запрос EF linq работает в linqpad, но не в приложении

#linq

#linq

Вопрос:

Я создал запрос в linqpad, и он работает, но когда я пытаюсь использовать его в своем приложении blazor, приложение выдает ошибку.

У меня есть три таблицы: tblOpportunity, tblOppStatus и lkpStatus

и возможность может иметь много статусов в зависимости от того, насколько зрелым является запрос. Поэтому мне нужно получить все самые последние статусы для каждой возможности. Я также хочу иметь возможность фильтровать набор данных, чтобы я получал только возможности со значениями x, y и z

 void Main()
{
    var output=from o in TblOpportunities
                 join sub in (
                 //get the latest status ID for the from the joining table
                 from smax in TblOppStatuses
                 group smax by smax.OpportunityID
                 into g
                 select new
                 {
                     OName = g.Key,
                     MaxS = (from t2 in g select t2.OppStatusID).Max()
                 })
                 on o.OpportunityID equals sub.OName

                 join st in TblOppStatuses on sub.MaxS equals st.OppStatusID
                 
                 //get the statu sname form the lookup table
                 join lst in Lkp_Statuses on st.StatusID equals lst.StatusID
                 
                 join c in TblClients on o.ClientID equals c.ClientID
                 
                 select new
                 {
                     c.ClientName,
                     o.OpportunityName,
                     sub.MaxS,
                     lst.Status,
                     lst.StatusID
                 };
    
    int[] filter = { -1, 62};
                 output.Where(of=>filter.Contains(of.StatusID))
                 .Dump();
                 
}
  

Ошибка, возникающая в подзапросе

 MaxS = (from t2 in g select t2.OppStatusID).Max()
  

если я прокомментирую это, запрос выполняется, но не дает мне того, что я хочу. Кто-нибудь может посоветовать, что я делаю неправильно, поскольку я говорю, что он отлично работает в Linqpad.

Комментарии:

1. Не могли бы вы обновить свой вопрос, чтобы включить сообщение об ошибке?

2. Брэндон, спасибо, что спросил, я изменил запрос на этот, и он сработал. сгруппируйте SMAX по SMAX.OpportunityID в g выберите new { OID = g.Key, MaxS = g.Max(tc=>tc.OppStatusID) //(из t2 в grp выберите t2.OppStatusID).Max() })

3. Я закрою это