我正在使用 WCF 服务器(使用新的 beta Mindscape LightSpeed ORM)开发一个应用程序,并在 ASP.NET MVC2 客户端使用该服务。我的实体在客户端显示为 T
的数组, 或 IEnumerable<T>
.我想在数据到达后对数据做一些很酷的事情,但需要 LINQ 语法 IQueryable<T>
.
我知道有一种方法可以从 IEnumerable<T>
进行转换至 IQueryable<T>
,但到目前为止我还没有找到它。有人可以帮忙吗?
谢谢, 戴夫
最佳答案
嗯,我猜你在想 Queryable.AsQueryable()
- 但是是什么让你认为你需要使用 IQueryable<T>
使用 LINQ?转换 IEnumerable<T>
至 IQueryable<T>
不会给您 IQueryable<T>
的大部分好处.
LINQ to Objects 全部基于 IEnumerable<T>
.如果您对使用已收到的数据感到满意,这就是您所需要的。
但是,如果您想在客户端表达查询并告诉 WCF 服务器执行该查询(例如,在数据库中或至少在 WCF 端执行过滤),就是当你使用 IQueryable<T>
.你可能会找到我的 Edulinq post about IQueryable<T>
有用。您需要某种方式将服务表示为 IQueryable<T>
虽然 - 那时你超出了我的 WCF 知识范围。
关于wcf - 如何将 T (IEnumerable<T>) 数组转换为 IQueryable<T> 以便使用 LINQ 进行处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5183148/