2017-01-28 8 views
1

私はクエリ結果のリストを取得し、メソッドの値を返しますが、エラーを取得しようとします。クエリでグループの種類を取得する方法は?

型または名前空間名「T」が見つかりませんでした(あなた がusingディレクティブまたはアセンブリ参照が不足している?)

私はこれをどのように行うことができますか?

public IEnumerable<T> GetCountSubjectCategories() 
{ 
    try 
    { 
     IEnumerable<T> countSubjectsList = (from blog in db.BlogTables 
              group blog by blog.CatId 
              into catgy 
              select new 
              { 
               Id = catgy.Key, 
               CountSubjects = catgy.Count()         }).ToList(); 
     return countSubjectsList; 
    } 
    catch (Exception e) 
    { 
     Log.AddErrorLog(e, AdakLog.Service.DataBase, "1", false, false, true); 
     return null; 
    } 
} 

答えて

1

あなたは、クラスに

public class CategorySubjects 
{ 
    public int Id { get; set; } 
    public int Subjects { get; set; } 
} 

を宣言してからIEnumerable<CategorySubjects>を返す必要があります。

public IEnumerable<CategorySubjects> GetCountSubjectCategories() 
{ 
    try 
    { 
     return (from blog in db.BlogTables 
       group blog by blog.CatId 
       into catgy 
       select new CategorySubjects 
       { 
        Id = catgy.Key, 
        CountSubjects = catgy.Count() 
       }; 
      return countSubjectsList; 
     } 
     catch (Exception e) 
     { 
      Log.AddErrorLog(e, AdakLog.Service.DataBase, "1", false, false, true); 
      return null; 
     } 
    } 
} 

別のオプションは、2つのプロパティまたはstructTuple<int,int>を作成することでしょう。コード内にTを使用しても意味はありません。通常は、汎用メソッドを定義する必要がある場合や、一般的な動作を公開するクラスを定義する必要がある場合は、Tを使用します。ジェネリックについて読むことを開始したい場合は、hereを開始することができます。

+0

ありがとうございます... – programmer138200

+0

あなたは大歓迎です:) – Christos

関連する問題