首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mvc orderby<.IorderedEnumerable>错误

mvc orderby<.IorderedEnumerable>错误
EN

Stack Overflow用户
提问于 2014-04-03 01:37:43
回答 1查看 1.2K关注 0票数 0

MVC初学者。在实现另一篇文章中的解决方案时,我现在遇到了另一个问题。我明白问题的要旨,但不知道如何解决它。

我已经改变了一种类型:

代码语言:javascript
复制
ViewModel.Lots = from x in (db.Subdivisions.SelectMany(sd => sd.Lots))
group x by x.Num_of_steps == 0 ? 3 : x.Num_of_steps < 115 ? 1 : 2 into g
orderby g.Key
select g.OrderBy(g1 => g1.LotName);

我现在得到了这个错误:

不能隐式地将类型'System.Linq.IQueryable>‘转换为'System.Collections.Generic.IEnumerable'.存在显式转换(是否缺少强制转换?)

在阅读了几篇文章之后,我做了一些修改,比如:

代码语言:javascript
复制
  select g.OrderBy(g1 => g1.LotName).AsQueryable().ToList()

在这种情况下,消息更改为:

不能隐式地将类型'System.Linq.IQueryable>‘转换为'System.Collections.Generic.IEnumerable'.存在显式转换(是否缺少强制转换?)

有人能帮上忙吗?解释他们为什么这么做,他们在哪里做的,这样我才能理解。谢谢

EN

回答 1

Stack Overflow用户

发布于 2014-04-03 01:42:35

代码语言:javascript
复制
ViewModel.Lots = (from x in (db.Subdivisions.SelectMany(sd => sd.Lots))
        group x by x.Num_of_steps == 0 ? 3 : x.Num_of_steps < 115 ? 1 : 2 into g
        orderby g.Key
        select g.OrderBy(g1 => g1.LotName).ToList()).SelectMany(x => x).ToList();

您需要得到一个IEnumerable<Lot>g.OrderBy(g1 => g1.LotName)首先为每个group.So返回一个IOrderedEnumerable<MVCBSV.Models.Lot>,您应该使用SelectMany来平化您的结果,然后使用ToList.The最后一个ToList在这种情况下可能是不必要的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22826267

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档