Asp.net core IQueryable不包含Count或OrderBy.的定义。。Can';我不明白为什么
对C#、ASP.NET核心和web开发来说是全新的。我正在尝试实现一种通用方法,可以与JQuery DataGrid一起重用。方法如下:Asp.net core IQueryable不包含Count或OrderBy.的定义。。Can';我不明白为什么,asp.net-core,datatables,Asp.net Core,Datatables,对C#、ASP.NET核心和web开发来说是全新的。我正在尝试实现一种通用方法,可以与JQuery DataGrid一起重用。方法如下: protected String ItemsToJson(IQueryable items, List<String> columnNames, String sort, String order, Int32 limit, Int32 offset) { try {
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;
}
}
protectedstringitemstojson(IQueryable项、列表列名、字符串排序、字符串顺序、Int32限制、Int32偏移量)
{
尝试
{
Int32 count=items.count();
字符串sortExpression=“”;
if(sort!=null&&sort.Length>0)
sortExpression+=String.Format(“{0}{1}”,排序,顺序);
如果(限制==0)
限制=计数;
var结果=新
{
总数=计数,
rows=items.OrderBy(sortExpression)。Skip(offset)。Take(limit)。选择(“new”(“+String.Join”(“,”,columnNames)+”)
};
返回JsonConvert.SerializeObject(结果,格式化.None,新的JsonSerializerSettings(){MetadataPropertyHandling=MetadataPropertyHandling.Ignore});
}
捕获(例外情况除外)
{
控制台写入线(例如消息);
返回null;
}
}
读取Int32 count=items.count()的行;返回以下错误:
“IQueryable”不包含“Count”的定义,并且找不到接受类型为“IQueryable”的第一个参数的可访问扩展方法“Count”(是否缺少using指令或程序集引用?)
读取行=Items.OrderBy(sortExpression)的行。。。。。返回以下错误:
“IQueryable”不包含“OrderBy”的定义,并且找不到接受类型为“IQueryable”的第一个参数的可访问扩展方法“Count”(是否缺少using指令或程序集引用?)
我有一个用于System.Linq的程序。有什么想法吗?这快把我逼疯了
谢谢你
---ValIQueryable项目提供的项目类型是什么 Count方法可用于
IQueryable
,这意味着如果您将传入参数更改为IQueryable items
,您应该能够访问它
IQueryable
接口旨在通过查询实现
提供者。它只应该由
同时实现IQueryable
。如果提供程序未同时实现
IQueryable
,标准查询运算符不能用于
提供程序的数据源
我认为您需要向我们提供调用此方法的代码。如果要获取集合的计数,需要将IQueryable具体化为某个类的集合
IQueryable
。您好,这不是运行时错误。由于这两个错误,我无法编译代码。嗨,亚当。由于这两个错误,代码无法编译。这不是运行时错误。是的,这正是我所指的。如果更新方法的参数以引用列出T的特定类型的IQueryable,则可查询的方法应该可用:protectedstring ItemsToJson(IQueryable items,
明白了!谢谢大家。