EF linq查询可在linqpad中运行,但不能在应用程序中运行

问题描述

我已经在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中可以正常工作。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)