Dapper ORM和分頁和排序擴展

dapper

我使用Dapper作為通用DAL,可用於Oracle和SQL服務器。提供分頁和排序方法的最佳方法是什麼,以便它既適用於SQL又適用於Oracle而無需手動創建/更改SQL語句?就像是:

var users= Dapper
           .Query<User>(sqlStatment
                        .Skip(10)
                        .Take(10)); // where sqlStatment string

一般承認的答案

正如@Alex指出的那樣,在您選擇的兩個數據庫上進行分頁的方式不同,因此最適合進行大多數優化查詢的最佳方法是為每個數據庫編寫單獨的查詢。

最好創建兩個數據提供程序程序集,每個程序集為每個數據庫服務:

  • Data.Provider.Sql
  • Data.Provider.Oracle

然後配置您的應用程序之一。我故意也創建了Data.Provider命名空間(它可以是某些Data程序集的一部分,並定義了上層提供程序實​​現的所有數據提供程序接口(在Data.Provider )。



許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因