0

ClassC、ClassS、ClassSAの3つのエンティティがあります。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に参加したい。2つの異なるクラスの2つの異なるプロパティでグループ化し、結果の一部を別のクラスのプロパティに格納します。1つのクラスのプロパティのみで見つかったグループで検索しました。

エラーが発生しています:

  1. ブロック内の一部のリターンタイプがデリゲートリターンタイプに暗黙的に変換できないため、ラムダ式をデリゲートタイプ'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 に答える