2010-06-27 59 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無論如何獲得) 但這只是我的想法。 無論如何,祝你好運。 乾杯盧克