0

我有三个实体 ClassC、ClassS 和 ClassSA。我想通过使用 LINQ 来应用组。

using (var db = new SEntities())
{
    var result = from c in db.ClassC
    join s in db.ClassS on c.ID equals s.CID
    join sa in db.ClassSA on s.SAID equals sa.ID
    group sa by
    new { c.Type, s.Date.Year}
    into g
    select new ClassSAY { Year = g.Key.Year, CI = g.Key.CIType, Count = g.Count(sa => sa.ID)};
}

我想加入ClassC、ClassS和ClassSA;按两个不同类的两个不同属性分组,并将结果的一部分存储在另一个类的属性中。我只按一个类的属性搜索了找到的组。

它给出了错误:

  1. 无法将 lambda 表达式转换为委托类型“System.Func<SG.DAL.SA,bool>”,因为块中的某些返回类型不能隐式转换为委托返回类型

  2. 无法将类型“long”隐式转换为“bool”

谢谢。

4

1 回答 1

0

尝试使用喜欢

Count = g.Count()

代替

Count = g.Count(sa => sa.ID)
于 2012-09-24T07:25:12.780 回答