我有三个实体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;由两个不同类的两个不同属性分组,并将结果的某些部分存储在另一个类的属性中。我已经通过发现组搜索了一个类的属性。
这是错误的:
无法将lambda表达式转换为委托类型'System.Func< SG.DAL.SA,bool>'因为块中的某些返回类型不能隐式转换为委托返回类型
无法将类型'long'隐式转换为'bool'
感谢。
答案 0 :(得分:0)
尝试使用
Count = g.Count()
而不是
Count = g.Count(sa => sa.ID)