2010-06-27 60 views
0

我正在为RESTful服务编写自定义LINQ提供程序。服务中的一些调用返回摘要标题,包括记录总数,页面大小和返回页面。我需要清洁的方式来返回这些数据。给定此查询:LINQ Provider到RESTful服务

var foo = from x in ctx.MyQueryableThingie 
      select x; 

上面的“foo”变量变成了IQueryable<MyQueryableThingie>。返回这些汇总数据而不将其附加到集合中的每个成员的最佳方法是什么?我已经考虑过让它们成为上下文的属性,例如每个查询都会更新这些属性,但我不确定这是最好的模式。

回答

-1

我会说它存储在一个queryProvider。这种方式您将确保每个实例都具有该实例执行的查询中的属性(处理静态字段时很困难)。从视图的语法点当然,这些信息是QueryResult中的一部分,所以你可以去一些额外的努力和实施

IMyCustomQueryResult<T> : IEnumarable<T> 

不过那可能会使它太过计较, Queryprovider可能最好的方式来存储它,因为它是查询提供者谁解析和执行,所以这可能是存储信息的地方(它可以从IQueryable无论如何获得) 但这只是我的想法。 无论如何,祝你好运。 干杯卢克