CS1061:"IEnumerable<DB-entity-model>" 不包含 'OrderByDescending()' 的定义
CS1061: "IEnumerable<DB-entity-model>" does not contain a definition for 'OrderByDescending()'
数据库模型:root/ Entities/ ThreadEntity.cs .
root/数据/IThreadEntity.cs
IEnumerable<ThreadEntity> GetLatestThreads(int amount); // to get/ load at once.
root/ Controllers/ ThreadController.cs , HomeController.cs 等
在后者中:
public class HomeController : Controller
{
private readonly ILogger<HomeController> _logger;
private readonly IThreadEntity _threadEntityService;
public HomeController(ILogger<HomeController> logger, IThreadEntity threadEntityService)
{
_logger = logger;
_threadEntityService = threadEntityService;
}
private HomeIndexModel BuildHomeIndexModel()
{
var latestThreads = _threadEntityService.GetLatestThreads(amount: 10);
//...
}
//...
}
root/服务/ThreadService.cs
public class ThreadService : IThreadEntity
{
//...
public IEnumerable<ThreadEntity> GetLatestThreads(int amount)
{
return GetAll().OrderByDescending<ThreadEntity> (thread => thread.CreatedAt).Take(amount);
}
//...
}
这里出现错误
CS1061: IEnumerable<ThreadEntity>
does not contain a definition for 'OrderByDescending' and no extension method 'OrderByDescending' accepting a first argument of type IEnumerable<ThreadEntity>
could be found.
我已经在msdn上查看了错误代码。我错过了什么?
如果有帮助,Here 是我的其余代码。
Enumerable.OrderByDescending
接受 2 个类型参数:它是 OrderByDescending<TSource, TKey>
.
当您调用 OrderByDescending<ThreadEntity>
时,您只传递了 1 个类型参数。方法 OrderByDescending<T>
不存在,因此您遇到错误。
如果要指定类型参数,则需要同时指定两者:OrderByDescending<ThreadEntity, T>
其中 T
是 thread.Created
的任何类型。
但是,C# 编译器擅长推断类型参数,因此您应该能够编写:
return GetAll().OrderByDescending(thread => thread.Created).Take(a);
数据库模型:root/ Entities/ ThreadEntity.cs .
root/数据/IThreadEntity.cs
IEnumerable<ThreadEntity> GetLatestThreads(int amount); // to get/ load at once.
root/ Controllers/ ThreadController.cs , HomeController.cs 等
在后者中:
public class HomeController : Controller
{
private readonly ILogger<HomeController> _logger;
private readonly IThreadEntity _threadEntityService;
public HomeController(ILogger<HomeController> logger, IThreadEntity threadEntityService)
{
_logger = logger;
_threadEntityService = threadEntityService;
}
private HomeIndexModel BuildHomeIndexModel()
{
var latestThreads = _threadEntityService.GetLatestThreads(amount: 10);
//...
}
//...
}
root/服务/ThreadService.cs
public class ThreadService : IThreadEntity
{
//...
public IEnumerable<ThreadEntity> GetLatestThreads(int amount)
{
return GetAll().OrderByDescending<ThreadEntity> (thread => thread.CreatedAt).Take(amount);
}
//...
}
这里出现错误
CS1061:
IEnumerable<ThreadEntity>
does not contain a definition for 'OrderByDescending' and no extension method 'OrderByDescending' accepting a first argument of typeIEnumerable<ThreadEntity>
could be found.
我已经在msdn上查看了错误代码。我错过了什么? 如果有帮助,Here 是我的其余代码。
Enumerable.OrderByDescending
接受 2 个类型参数:它是 OrderByDescending<TSource, TKey>
.
当您调用 OrderByDescending<ThreadEntity>
时,您只传递了 1 个类型参数。方法 OrderByDescending<T>
不存在,因此您遇到错误。
如果要指定类型参数,则需要同时指定两者:OrderByDescending<ThreadEntity, T>
其中 T
是 thread.Created
的任何类型。
但是,C# 编译器擅长推断类型参数,因此您应该能够编写:
return GetAll().OrderByDescending(thread => thread.Created).Take(a);