微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决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 举报,一经查实,本站将立刻删除。