将TSql命令转换为LINQ,错误为“无法转换为LINQ to Entities存储表达式”

时间:2019-02-11 16:29:23

标签: c# sql linq

以下命令在SQL Server中返回预期的输出:

select count(*) As CountField 
from
    (select Eductionals.UserID , Max(Eductionals.MaghtaeID) As IDmaghta
from Eductionals 
    group by Eductionals.UserID) Temptable
        inner join MaghtaeTahsilis ON
         Temptable.IDmaghta = MaghtaeTahsilis.ID
        where Temptable.IDmaghta = 3 /* any number */
        group by Temptable.IDmaghta

我试图将以上代码转换为LINQ:

    var maghtae = _maghtaeTahsili.Where(z => z.Code == MaghtaeCode).FirstOrDefault();
    return _eductional.GroupBy(z=> z.UserID).Max().Where(z => z.MaghtaeID == maghtae.ID).Select(z => z).Count();

运行后,遇到以下错误:

  

“ IGrouping”不包含针对   'MaghtaeID',并且没有可访问的扩展方法'MaghtaeID'接受   可以找到类型为“ IGrouping”的第一个参数   (您是否缺少using指令或程序集引用?)

0 个答案:

没有答案