Linq查询平均值

Linq查询平均值,linq,Linq,我可以在Linqpad中运行它,它运行得很好,但是在VS中,当我运行它时,由于Avg、Max和Min语句,结果会抛出错误。有人能告诉我如何改变这一点,以获得预期的结果吗 tickets = from t in dbContext.TblOmTasks join o in dbContext.TblOms on t.OMID equals o.OMID join ls in dbCont

我可以在Linqpad中运行它,它运行得很好,但是在VS中,当我运行它时,由于Avg、Max和Min语句,结果会抛出错误。有人能告诉我如何改变这一点,以获得预期的结果吗

            tickets = from t in dbContext.TblOmTasks
                      join o in dbContext.TblOms on t.OMID equals o.OMID
                      join ls in dbContext.LkpStatusBasics on t.OMTaskStatus equals ls.ID
                      where t.OMID == SiteId
                      where ls.Status.Contains(status)

                      group t by new { Y = t.Created.Value.Date.Year, M = t.Created.Value.Date.Month } into grp
                      orderby grp.Key.M
                      select new TBS
                      {
                          Month = new DateTime(grp.Key.Y, grp.Key.M, 1).ToString("MMM", CultureInfo.InvariantCulture)

                      ,Avg = grp.Average(g => Convert.ToInt32((g.Updated.HasValue ? g.Updated - g.Created : DateTime.Now - g.Created).Value.Days))
                      ,Max = grp.Max(g => Convert.ToInt32((g.Updated.HasValue ? g.Updated - g.Created : DateTime.Now - g.Created).Value.Days))
                      ,Min = grp.Min(g => Convert.ToInt32((g.Updated.HasValue ? g.Updated - g.Created : DateTime.Now - g.Created).Value.Days))

                      };

看起来EF Core仍然无法转换Timestamp.Days。因此,使用适当的函数

tickets=
从dbContext.TblOmTasks中的t
在t.OMID上的dbContext.TblOms中连接o等于o.OMID
将ls连接到t.OMTaskStatus上的dbContext.LkpStatusBasics中等于ls.ID
其中t.OMID==SiteId
其中ls.Status.Contains(状态)
按新的{Y=t.Created.Value.Date.Year,M=t.Created.Value.Date.Month}将t分组到grp中
orderby grp.Key.M
选择新TBS
{
月=新日期时间(grp.Key.Y,grp.Key.M,1).ToString(“MMM”,CultureInfo.InvariantCulture),
Avg=grp.Average(g=>EF.Functions.DateDiffDay(g.Created,g.Updated??DateTime.Now),
Max=grp.Max(g=>EF.Functions.DateDiffDay(g.Created,g.Updated??DateTime.Now),
Min=grp.Min(g=>EF.Functions.DateDiffDay(g.Created,g.Updated??DateTime.Now)
};

正如我们所说的“啊,美女”,这就解决了问题。非常感谢