2016-03-04 30 views
1

ServiceStack帶有一些很棒的功能,包括AutoQuery和最近的更新包括一個偉大的Admin UIServiceStack - 自動查詢和OrmLiteCacheClient

我希望能夠實現以下,使用OrmLiteCacheClient作爲AutoQuery的數據庫。

更具體地說,

  1. 我期待緩存(/存儲)對象的數量(響應的DTO),以OrmLiteCacheClient

  2. 使用自動查詢採取這些實體的護理請求和響應保存到OrmLiteCacheClient

這是可以實現的嗎?

回答

2

我希望實現以下,使用OrmLiteCacheClient作爲AutoQuery的數據庫。

不是不可能的,AutoQuery通過從AutoQuery Request中構建一個由遠程RDBMS執行的SQL表達式來工作,其結果用於填充AutoQuery Response DTO。

但你仍然可以高速緩存中的自動查詢服務像任何其他服務,e.g:

public class TechnologyServices : Service 
{ 
    public IAutoQuery AutoQuery { get; set; } 

    //Cached AutoQuery 
    public object Any(FindTechnologies query) 
    { 
     var key = Request.QueryString.ToString(); 
     return Request.ToOptimizedResultUsingCache(Cache, key,() => 
     { 
      var q = AutoQuery.CreateQuery(query, Request); 
      return AutoQuery.Execute(query, q); 
     }); 
    } 
}