- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有以下 LINQ 代码:
var posts = (from p in db.Posts
.Include("Site")
.Include("PostStatus")
where p.Public == false
orderby p.PublicationTime
select p);
if (!chkShowIgnored.Checked) {
posts = posts.Where(p => p.PostStatus.Id != 90);
}
最后一行(额外的地方)给我错误:
无法将类型“System.Linq.IQueryable”隐式转换为“System.Linq.IOrderedQueryable”。
我不确定这是什么意思...
为什么会出现此错误?
一旦我将“orderby”子句添加到查询中,它就出现了,在此之前它编译得很好,所以我对正在发生的事情有一种预感,但我不能完全理解它。
最佳答案
尝试声明 posts
具体为IQueryable<Post>
而不是 var
(它将获取 IOrderedQueryable<Post>
(它仍将被订购)。
或者,重新构建它,以便我们在最后订购,允许我们(可选)引入 where
在中间:
var posts = from p in db.Posts
.Include("Site")
.Include("PostStatus")
where p.Public == false
select p);
if (!chkShowIgnored.Checked) {
posts = posts.Where(p => p.PostStatus.Id != 90);
}
var finalQuery = posts.OrderBy(p => p.PublicationTime);
(显然,我们看 finalQuery
)
它出错的原因是目前你有(本质上):
IOrderedQueryable<Post> posts = {snip};
...
posts = {something (Where) that returns IQueryable<Post>}
关于c# - 无法将 IQueryable<> 转换为 IOrderedQueryable 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1732236/
我有以下抽象类,我的所有存储库都继承自该抽象类: abstract class RepositoryBase { void Add(); void Delete(); void
context.EntitySet.AsEnumerable().OrderBy()返回 IOrderedEnumerable保证会被订购,但看起来排序是在客户端完成的。 context.Entity
应用于 Entity Framework ,扩展方法Select()和 OrderBy()都返回 ObjectQuery ,定义为: public class ObjectQuery : Object
我有 2 个表:Items 和 ItemMetrics。 Items 包含我的项目,ItemMetrics 包含有关这些项目的统计信息。 我正在尝试按相应的统计权重对项目列表进行排序。我使用子查询让它
调用 AsQueryable()在 IOrderedEnumerable 上在 IEnumerable 上调用扩展方法并返回 IQueryable而不是 IOrderedQueryable . 这对我
我有一个 IQueryable。我没有对其调用 OrderBy 或以其他方式对其进行任何操作。 如果我这样做: // for some reason, isItOrdered is always tr
我要返回一个 IOrderedQueryable像这样: response.Data = Expressions .ApplySorts(request, result) .Skip(
我有一个通用方法,我使用 IQueryable并返回 IOrderedQuerable使用 Linq-to-Entities。 一个简单的input.OrderBy(p => p.something)
我有以下 LINQ 代码: var posts = (from p in db.Posts .Include("Site") .Include("PostS
我想创建一个排序通用 Func Creating Func, IOrderedQueryable>在扩展方法中: public static Func, IOrderedQueryable> GetO
我想创建 Func, IOrderedQueryable>来自 SortingItems 的列表动态地。我的意思是我想创建以下表达式: entity => entity.OrderBy(c => c.
我正在使用这里提到的模式 http://www.asp.net/mvc/tutorials/getting-started-with-ef-using-mvc/implementing-the-rep
我正在尝试实现 EF 提供的分页功能。我以为我只需要将简单的 Skip() 和 Take() 添加到我的查询中,但后来我收到了这条消息: Error 4 'System.Linq.IOrderedQu
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: LINQ2SQL: Cannot convert IQueryable<> to IOrderedQuery
我是一名优秀的程序员,十分优秀!