1

我們有一些使用Ormlite/Servicestack構建的服務,我們主要使用帶定製邏輯的QueryData來提取數據庫對象和POCO。AutoQuery/Ormlite-servicestack:我可以過濾QueryDb類上的軟刪除嗎?

但是,我們有一個表,實際上不需要進行邏輯擴展,只需使用AutoQuery和URL參數直接從前端查詢數據庫即可。但是,此表包含一個isDeleted列以跟蹤軟刪除。前端不應該有任何軟刪除項目,我們認爲前端不應該能夠獲得這些記錄(即不應該負責使用?&isDeleted=false查詢API)。

因此,考慮到我們目前的設置:

[Route("/query/thing/stuff", HttpMethods.Get)] 
public class secret_table: QueryDb<secret_table> 
{ 
} 

...纔有可能實現對QueryDb<>一個過濾器,isDeleted=true自動排除記錄?而且這能夠只適用於這個表/類嗎?

我正在設置牛奶和餅乾,希望mythz下降,留下一個禮物......但任何幫助,當然讚賞!

回答

0

您是否嘗試過使用其中一種不同的extensibility options

你也應該能夠使用OrmLite's Select Filter to enable Soft Deletes,如:

SqlExpression<secret_table>.SelectFilter = q => q.Where(x => x.IsDeleted != true); 

注意你的自動查詢DTO不應該重用表作爲DTO的名稱的名稱,使用不同的名稱,如:

[Route("/query/thing/stuff", HttpMethods.Get)] 
public class QuerySecretTable: QueryDb<secret_table> {} 
+0

神話再次拯救。感謝您爲社區所做的一切。 附註:我認爲我昨天意外地在口袋裏低估了你的意見,現在我的投票鎖定在:(我會請一些同事幫助解決這個錯誤 – joh04667

相關問題