我正在使用 WCF 服务器(使用新的 beta Mindscape LightSpeed ORM)开发一个应用程序,并在 ASP.NET MVC2 客户端上使用该服务。我的实体在客户端显示为T
, 或的数组IEnumerable<T>
。我想在数据到达后对数据做一些很酷的事情,但需要 LINQ 语法IQueryable<T>
。
我知道有一种方法可以从IEnumerable<T>
to转换IQueryable<T>
,但到目前为止我还没有找到它。有人可以帮忙吗?
谢谢,戴夫
我正在使用 WCF 服务器(使用新的 beta Mindscape LightSpeed ORM)开发一个应用程序,并在 ASP.NET MVC2 客户端上使用该服务。我的实体在客户端显示为T
, 或的数组IEnumerable<T>
。我想在数据到达后对数据做一些很酷的事情,但需要 LINQ 语法IQueryable<T>
。
我知道有一种方法可以从IEnumerable<T>
to转换IQueryable<T>
,但到目前为止我还没有找到它。有人可以帮忙吗?
谢谢,戴夫
好吧,我怀疑您正在考虑Queryable.AsQueryable()
- 但是是什么让您认为您需要IQueryable<T>
使用 LINQ 来使用?将 转换IEnumerable<T>
为IQueryable<T>
不会给您带来 . 的大部分好处IQueryable<T>
。
LINQ to Objects 完全基于IEnumerable<T>
. 如果您对已收到的数据感到满意,这就是您所需要的。
但是,如果您想在客户端表达一个查询并告诉 WCF 服务器执行该查询(例如,在数据库中或至少在 WCF 端执行过滤),那么您应该使用IQueryable<T>
. 你可能会发现我关于 Edulinq 的帖子IQueryable<T>
很有用。您需要某种方式将服务表示为IQueryable<T>
虽然 - 那时您超出了我的 WCF 知识范围。
尝试以下方法:
AsQueryable()