C# 如何通过查询获取组的类型?
我尝试获取查询结果列表并返回方法值,但得到错误 找不到类型或命名空间名称“T”(是否为“”) 缺少使用指令或程序集引用?) 我该怎么做C# 如何通过查询获取组的类型?,c#,linq,group-by,C#,Linq,Group By,我尝试获取查询结果列表并返回方法值,但得到错误 找不到类型或命名空间名称“T”(是否为“”) 缺少使用指令或程序集引用?) 我该怎么做 public IEnumerable<T> GetCountSubjectCategories() { try { IEnumerable<T> countSubjectsList = (from blog in db.BlogTables
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;
}
}
public IEnumerable GetCountSubjectCategories()
{
尝试
{
IEnumerable countSubjectsList=(来自db.BlogTables中的blog
按blog.CatId对博客进行分组
变成猫
选择新的
{
Id=catgy.Key,
CountSubjects=catgy.Count()}).ToList();
返回countSubjectsList;
}
捕获(例外e)
{
Log.AddErrorLog(e,AdakLog.Service.DataBase,“1”,false,false,true);
返回null;
}
}
您应该声明一个类
public class CategorySubjects
{
public int Id { get; set; }
public int Subjects { get; set; }
}
然后返回一个IEnumerable
public IEnumerable GetCountSubjectCategories()
{
尝试
{
返回(来自db.BlogTables中的blog)
按blog.CatId对博客进行分组
变成猫
选择新类别主题
{
Id=catgy.Key,
CountSubjects=catgy.Count()
};
返回countSubjectsList;
}
捕获(例外e)
{
Log.AddErrorLog(e,AdakLog.Service.DataBase,“1”,false,false,true);
返回null;
}
}
}
另一种选择是创建具有两个属性的Tuple
或一个struct
。在代码中使用T
没有意义。通常,当我们必须定义一个泛型方法或一个会暴露一些泛型行为的类时,我们使用T
。如果你想开始阅读泛型,你可以开始。
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;
}
}
}