【发布时间】:2021-10-28 04:32:02
【问题描述】:
对于 C#、ASP.NET Core 和 Web 开发来说是全新的。我正在尝试实现一个可以与 JQuery DataGrid 一起重用的通用方法。方法如下:
protected String ItemsToJson(IQueryable items, List<String> columnNames, String sort, String order, Int32 limit, Int32 offset)
{
try
{
Int32 count = items.Count();
String sortExpression = "";
if (sort != null && sort.Length > 0)
sortExpression += String.Format("{0} {1}", sort, order);
if (limit == 0)
limit = count;
var result = new
{
total = count,
rows = items.OrderBy(sortExpression).Skip(offset).Take(limit).Select("new (" + String.Join(",", columnNames) + ")")
};
return JsonConvert.SerializeObject(result, Formatting.None, new JsonSerializerSettings() { MetadataPropertyHandling = MetadataPropertyHandling.Ignore });
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
return null;
}
}
读取 Int32 count = items.Count(); 的行返回以下错误:
“IQueryable”不包含“Count”的定义,并且找不到接受“IQueryable”类型的第一个参数的可访问扩展方法“Count”(您是否缺少 using 指令或程序集引用?)
读取 rows = Items.OrderBy(sortExpression)..... 的行返回以下错误:
“IQueryable”不包含“OrderBy”的定义,并且找不到接受“IQueryable”类型的第一个参数的可访问扩展方法“Count”(您是否缺少 using 指令或程序集引用?)
我有一个用于 System.Linq 的用途。有什么想法吗?快把我逼疯了!
谢谢大家。
--- 值
【问题讨论】:
-
我认为您需要向我们提供调用该方法的代码。如果要获取集合的计数,需要将IQueryable物化为某个类
IQueryable<T>的集合。 -
您好,这不是运行时错误。由于这两个错误,我无法编译代码。